客户端应用程序已请求访问资源“https://outlook.office365.com”。此请求失败

时间:2014-07-09 07:54:28

标签: c# outlook office365 office365-apps

我正在尝试从office365 API测试示例代码,我可以登录到我的帐户,但之后我总是会遇到此异常


发现了AuthenticationFailedException

AADSTS65005:客户端应用程序已请求访问资源“https://outlook.office365.com”。此请求失败,因为客户端未在其requiredResourceAccess列表中指定此资源。

追踪ID:7a39b0bd-1738-418f-984a-feffae5b5d9b

相关ID:16da7c7f-9f0c-468f-a560-a51b1ac9b3bf

时间戳:2014-07-09 07:36:34Z


这是我测试此代码的代码是由API生成的。

Authenticator authenticator = new Authenticator(); var authInfo = await authenticator.AuthenticateAsync("https://outlook.office365.com");

请帮助我或指出我做错了什么,这是我第一次在office365开发请帮助并感谢你。

3 个答案:

答案 0 :(得分:7)

我刚遇到同样的错误时遇到了你的问题,所以既然没人回答我想我会发布我找到的答案。此错误与在https://manage.windowsazure.com的Azure仪表板中应用程序上请求的权限相关。

如果您进入应用配置页面并滚动到底部,则只需在委派权限下拉列表中添加相应的项目。

答案 1 :(得分:1)

我得到了同样的错误。这就是为我解决的问题:

  1. 转到https://manage.windowsazure.com

  2. 转到相应的应用配置页面。

  3. 滚动到底部,以及#34;对其他应用程序的权限"。

  4. 添加" Windows Azure Active Directory"应用程序,如果它还没有。

  5. 根据委派的权限检查"启用登录并阅读用户的个人资料"

答案 2 :(得分:0)

与请求授权相关联的同意框架要求您的客户端应用程序配置了对其将调用的资源(API)的一组静态权限。例如,如果您的应用需要阅读已登录用户的邮件并读取和写入其日历,则需要选择Office 365 Exchange Online作为资源,然后选择“读取邮件”和“读取和写入日历”权限。 这个应用程序配置可以通过几种方式完成 - 一种方式是通过您的开发环境 - 比如Visual Studio。 VS2013及更高版本具有一个连接器,允许您注册客户端应用程序并配置其对O365云资源的访问权限。另一种方法是通过Azure管理门户(在AD扩展下,找到您的应用程序,单击配置选项卡,并通过"对其他应用程序"部分的权限配置访问权限)。 我建议您查看https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks以及以下部分,了解如何通过Azure管理门户和Visual Studio注册应用程序。您还在尝试哪种样品?该示例应包含说明,包括设置应用程序所需资源和权限范围的说明