403 Outlook API中的ErrorAccessDenied

时间:2016-02-04 14:54:02

标签: php rest outlook office365 outlook-restapi

使用Outlook API我可以提取日历事件。我接下来要做的是,如果某个活动有与会者的电子邮件,请从Outlook的联系人REST API中提取该与会者的其余联系人数据。我相信我在网址中使用?search="foo@bar.com"进行了查询,但是当我显示来自cURL的响应时,我回复了以下内容:

string '{"error":{"code":"ErrorAccessDenied","message":"Access is denied. Check credentials and try again."}}' (length=101)

似乎我的凭据足以获得日历事件,但在稍后试图获取联系人时,某种程度上无效。我错过了什么?

2 个答案:

答案 0 :(得分:2)

您的应用在进行身份验证时会请求哪些权限?假设您正在使用v2应用程序模型进行身份验证,这是授权请求URL中scope参数中传递的内容:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=<SOME GUID>
&redirect_uri=https%3A%2F%2Fcid.azurewebsites.net&response_type=code
&scope=openid+https%3A%2F%2Foutlook.office.com%2Fmail.read

要访问联系人,您需要拥有https://outlook.office.com/contacts.readhttps://outlook.office.com/contacts.readwrite,具体取决于您是否需要写入权限。

答案 1 :(得分:0)

您可以搜索的另一种方式: ?https://outlook.office365.com/api/v2.0/me/MailFolders/Inbox/messages $搜索= “从:foo@bar.com” &安培; $ =选择主题,发件人ReceivedDateTime&安培; $顶部= 500