尝试使用Graph API(通过https://developer.microsoft.com/en-us/graph/graph-explorer/)使用以下端点从共享日历返回事件:
https://graph.microsoft.com/v1.0/users/<user>/calendar/events
当<user>
替换为我的电子邮件时,事件会按预期返回,但如果它被同事(已与我共享日历)替换,我会收到以下500
响应:
{
"error": {
"code": "ErrorInternalServerTransientError",
"message": "An internal server error occurred. Try again later.",
"innerError": {
"request-id": "b26e5b81-56f0-40b6-bb7b-89c1508c4c77",
"date": "2017-05-25T13:11:16"
}
}
}
图谱API相当新,所以任何指导都会受到赞赏。
修改
只是尝试使用本地node.js服务器复制它,我按照以下示例(每个步骤都正常工作):https://docs.microsoft.com/en-us/outlook/rest/node-tutorial
但是,当我创建一个新功能来获取同事的日历时,我得到了之前的类似回复:
ERROR:{
"statusCode":500,
"code":"InternalServerError",
"message":"Error while processing response.",
"requestId":"65fa8d30-3bbf-498c-869f-f4bb89bec8d5",
"date":"2017-05-25T19:13:07.000Z",
"body":{
"code":"InternalServerError",
"message":"Error while processing response.",
"innerError":{
"request-id":"65fa8d30-3bbf-498c-869f-f4bb89bec8d5",
"date":"2017-05-25T19:13:07"
}
}
}
答案 0 :(得分:1)
显然有两个版本的日历共享,我将其称为“旧”和“新”。细节并不重要,只需知道这是Microsoft客户端(Outlook,OWA等)中的实现细节即可。在您的情况下,与您共享日历的人使用“旧”方法的客户端,并且REST API无法访问与该方法共享的日历。我们正在努力解决API中的问题。
与此同时,如果共享其日历的用户可以删除共享,则使用网络上的Outlook,iOS上的Outlook或Android上的Outlook重新共享,它应该取消阻止您。 (要求其邮箱托管在Office 365上)。