前面讲了Microsoft Graph开放接口学习系列教程的获取授权与发送邮件教程,让大家初步体验到了Microsoft Graph开放接口的功能与使用方法。接下来我们继续介绍Microsoft Graph开放接口中关于邮件的相关接口,获取邮件接口。
获取登录用户的邮箱(包括“已删除邮件”和“待筛选邮件”文件夹)中的邮件。
根据页面大小和邮箱数据,从邮箱中获取邮件可能会引发多个请求。 默认页面大小为 10 封邮件。 若要获取下一页的邮件,只需将 @odata.nextLink
中返回的整个 URL 应用于下一个 get-messages 请求。 此 URL 包括可能已在初始请求中指定的任何查询参数。
不要尝试从 @odata.nextLink
URL 中提取 $skip
值来操纵响应。 此 API 使用 $skip
值来保留其已在用户邮箱中遍历的所有项的计数,以返回 message-type 项的页面。 因此,甚至在初始响应中,$skip
值都会大于页面大小。
目前,此操作返回纯 HTML 格式的邮件正文。
在以下两种情况下,应用可以获取其他用户的邮件文件夹中的邮件:
- 如果该应用具有应用程序权限,或者
- 如果应用具有来自某个用户的相应委派权限,而另一个用户与该用户共享了邮件文件夹,或者已为该用户授予委派的访问权限。
相关权限
要调用此 API,需要以下权限之一。
权限类型 | 权限(从最低特权到最高特权) |
---|---|
委派(工作或学校帐户) | Mail.ReadBasic、Mail.Read、Mail.ReadWrite |
委派(个人 Microsoft 帐户) | Mail.ReadBasic、Mail.Read、Mail.ReadWrite |
应用程序 | Mail.ReadBasic.All、Mail.Read、Mail.ReadWrite |
接口介绍
请求方式:get
请求地址:https://graph.microsoft.com/v1.0/me/messages
请求头部
名称 | 类型 | 说明 |
---|---|---|
Authorization | string | Bearer {token}。必需。 |
Prefer: outlook.body-content-type | string | 要返回的 body 和 uniqueBody 属性的格式。 可取值为“text”或“html”。 如果未指定此头,采用 HTML 格式返回 body 和 uniqueBody 属性。 可选。 |
返回值
如果成功,此方法在响应正文中返回 200 OK
响应代码和 Message 对象集合。
请求示例
请求如下地址,将返回包含发送者以及邮件主题相关内容的集合。
https://graph.microsoft.com/v1.0/me/messages?$select=sender,subject
返回数据示例:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('bb8775a4-4d8c-42cf-a1d4-4d58c2bb668f')/messages(sender,subject)",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/messages?$select=sender%2csubject&$skip=14",
"value": [
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAwR4Hg/"",
"id": "AAMkAGUAAAwTW09AAA=",
"subject": "You have late tasks!",
"sender": {
"emailAddress": {
"name": "Microsoft Planner",
"address": "noreply@Planner.Office365.com"
}
}
},
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4D1e/"",
"id": "AAMkAGUAAAq5QKlAAA=",
"subject": "You have late tasks!",
"sender": {
"emailAddress": {
"name": "Microsoft Planner",
"address": "noreply@Planner.Office365.com"
}
}
},
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4D0v/"",
"id": "AAMkAGUAAAq5QKkAAA=",
"subject": "Your Azure AD Identity Protection Weekly Digest",
"sender": {
"emailAddress": {
"name": "Microsoft Azure",
"address": "azure-noreply@microsoft.com"
}
}
},
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4DsN/"",
"id": "AAMkAGUAAAq5QKjAAA=",
"subject": "Use attached file",
"sender": {
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.OnMicrosoft.com"
}
}
},
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4Dq9/"",
"id": "AAMkAGUAAAq5QKiAAA=",
"subject": "Original invitation",
"sender": {
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.OnMicrosoft.com"
}
}
},
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4Dq1/"",
"id": "AAMkAGUAAAq5QKhAAA=",
"subject": "Koala image",
"sender": {
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.OnMicrosoft.com"
}
}
},
{
"@odata.etag": "W//"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4Dqp/"",
"id": "AAMkAGUAAAq5QKgAAA=",
"subject": "Sales invoice template",
"sender": {
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.OnMicrosoft.com"
}
}
},
{
"@odata.type": "#microsoft.graph.eventMessage",
"@odata.etag": "W//"DAAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4Dft/"",
"id": "AAMkAGUAAAq5UMVAAA=",
"subject": "Accepted: Review strategy for Q3",
"sender": {
"emailAddress": {
"name": "Adele Vance",
"address": "/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=A17A02BCF30C4937A87B14273385667C-ADELEV"
}
}
},
{
"@odata.type": "#microsoft.graph.eventMessage",
"@odata.etag": "W//"DAAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4DfF/"",
"id": "AAMkAGUAAAq5UMUAAA=",
"subject": "Accepted: Review strategy for Q3",
"sender": {
"emailAddress": {
"name": "Adele Vance",
"address": "/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=A17A02BCF30C4937A87B14273385667C-ADELEV"
}
}
},
{
"@odata.type": "#microsoft.graph.eventMessage",
"@odata.etag": "W//"CwAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAq4Dfa/"",
"id": "AAMkAGUAAAq5T8tAAA=",
"subject": "Review strategy for Q3",
"sender": {
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.OnMicrosoft.com"
}
}
}
]
}
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/241540.html