2015-10-06 68 views
0

我有portal.office.com帐户,并希望通过我的REST应用程序访问Tenant-my.sharepoint.com上的OneDrive业务。 我已经注册了我的Azure的Active Directory和应用程序启动的oauth2认证是这样的:OneDrive与REST的业务Oauth2

https://login.windows.net/common/oauth2/authorize?response_type=code&client_id= '+ App.Key +' & REDIRECT_URI = http://localhost:8889/“;

在这个阶段我从Azure获得了AuthCode,下一个阶段是获取会话令牌。在认证

作为下一步骤我做POST请求https://login.windows.net/common/oauth2/token 使用参数: '的client_id =' + App.Key + 'client_secret =' + App.Secret + '码=' +校验码 + 'redirect_uri = http://localhost:8889/' +'grant_type = authorization_code' +'resource ='+ URLEncode('syncovery1');

不幸的是我得到的错误响应: {“错误”:“invalid_resource”,“ERROR_DESCRIPTION”:“AADSTS50001:应用程序名为syncovery1没有名为konnov.onmicrosoft.com租户发现这可能发生如果应用程序尚未由租户的管理员安装或由租户中的任何用户同意,那么您可能已将验证请求发送给错误的租户。\ r \ n跟踪ID:1af2ced2-b2bb-4568-8a87-bd2d1186cf9a \ r \ n相关ID:15dcda2c-0599-4279-8744-27c61e6912a9 \ r \ n时间戳:2015-10-06 07:46:03Z“,”error_codes“:[50001],”timestamp“:”2015-10-06 07:46:03Z“,”trace_id“:”1af2ced2-b2bb-4568-8a87-bd2d1186cf9a“,”correlation_id“:”15dcda2c-0599-4279-8744-27c61e6912a9“}'

请建议通往可能解决方案的途径。在我的portal.office.com帐户中,我找不到第三方应用程序可能与该帐户相关联的任何地方。你能猜出最后一次请求中“资源”参数的含义吗? portal.office.com中的哪些服务或许可证应该处于活动状态以允许进行身份验证?也许我只是没有激活OneDriveForBusiness订阅?

由于提前,

回答

0

资源的请求,意味着要在特定租户访问资源。因此,资源应该是应用Id,您已在azure广告(“不是应用名称”)中注册。如果'syncovery1'是应用程序的名称,那么它会返回错误。还有一点要补充的是,不要将资源编码为端点可能无法识别的资源。和

例如,如果你想获得office365的所有资源端点,那么资源将是 - _https://api.office.com/discovery/。

同样,如果我的应用程序的应用程序ID是_https://mydrive.sharepoint.com/以应用程序名称注册为“mydrivesync”,那么资源应该是_https://mydrive.sharepoint.com/。

请按照此official documentation了解完整的详细信息。