这可能与电子邮件获取Get status as null while fetching emails的根本原因相同。但是由于我还没有得到答复,所以在这里问。唯一的区别是这次是获取附件。
我正在使用/me/messages/'.$id.'/attachments
之类的请求来获取附件,但有时状态码为空,在我的代码中,我忽略了所有空状态码并将其视为无效响应。但是在我们的日志中,我发现那些空状态代码实际上具有有效的响应,并且附件包含在这些响应中。那么我应该将空状态代码视为有效吗?但这看起来很有风险。
答案 0 :(得分:0)
我认为您的附件数组当前没有值。这就是为什么您得到如下的空响应
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
"value": []
}
因此,您应该使用Graph API Post请求添加新附件
POST https://graph.microsoft.com/v1.0/me/messages/{{id}}/attachments
Content-type: application/json
Content-length: 200
{
"@odata.type": "#microsoft.graph.itemAttachment",
"name": "Holiday event",
"item": {
"@odata.type": "microsoft.graph.event",
"subject": "Discuss gifts for children",
"body": {
"contentType": "HTML",
"content": "Let's look for funding!"
},
"start": {
"dateTime": "2016-12-02T18:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2016-12-02T19:00:00",
"timeZone": "Pacific Standard Time"
}
}
}
然后发出GET请求以获取新创建的附件
GET /me/messages/{id}/attachments
还添加应用程序权限Mail.Read