With the Microsoft 365 API, you can build a wide variety of applications and solutions that work with your Office 365 data. Here are some examples of what you can build:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
microsoft_365: {
type: "app",
app: "microsoft_365",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://graph.microsoft.com/v1.0/me`,
headers: {
Authorization: `Bearer ${this.microsoft_365.$auth.oauth_access_token}`,
},
})
},
})
Microsoft 365 uses OAuth authentication. When you connect your Microsoft 365 account, Pipedream will open a popup window where you can sign into Microsoft 365 and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Microsoft 365 API.
Pipedream requests the following authorization scopes when you connect your account:
email
offline_access
openid
profile
Files.Read
Files.Read.All
Files.ReadWrite
Calendars.Read
Calendars.Read.Shared
Calendars.ReadWrite
Calendars.ReadWrite.Shared
Contacts.ReadWrite
Directory.ReadWrite.All
Notes.ReadWrite.All
Tasks.Read
Tasks.ReadWrite
Tasks.Read.Shared
Tasks.ReadWrite.Shared
Mail.ReadWrite
Mail.Send
MailboxSettings.ReadWrite
IMAP.AccessAsUser.All
POP.AccessAsUser.All
SMTP.Send
User.ReadWrite.All
GET
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://login.microsoftonline.com/common/oauth2/v2.0/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
&
scope={{oauth.space_separated_scopes}}
POST
https://login.microsoftonline.com/common/oauth2/v2.0/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}