Microsoft Graph API - " Trending Around"总是失败

时间:2016-05-22 08:32:50

标签: azure microsoft-graph

我正在调用以下端点;

https://graph.microsoft.com/beta/me/trendingAround

我有一个有效的访问令牌应用于我的请求,因为我可以很好地调用OneDrive端点。

然而,对于"围绕",我总是得到以下失败;

{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again.",
    "innerError": {
      "request-id": "cef71302-25e7-4180-bf25-ce685e609a80",
      "date": "2016-05-22T08:28:07"
    }
  }
}

我的Azure Active Directory应用程序是一个Native Client,在" Microsoft Graph"上有所有40个委派权限。申请获得批准。

这次电话我做错了什么?是否有我错过的许可。从我在文档中读到的内容来看,所有这些调用都需要读取网站集中的项目。

修改:我发现以下(非常相似)调用按预期工作;

https://graph.microsoft.com/beta/me/people

我从我的组织中找到了与我有关的人员。所以,我错过了什么" trendingAround"?我唯一能想到的是Azure AD应用程序权限,但就像我说的那样......我已经给它所有内容 ......

编辑2 :为了进行实验,我从门户中的Azure AD Native Client应用程序中删除了所有权限 - beta/me/people调用仍然有效!根据权限范围文档,这应该至少需要Read users' relevant people lists(preview)

任何人都可以告诉我这些权限应该如何运作,因为我完全糊涂了。

1 个答案:

答案 0 :(得分:0)

嗯,事实证明我的方法是"授予所有权限"被误导了。在" Windows Azure Active Directory"申请,我已经批准了#34;阅读目录数据"。

门户网站确实抱怨说我没有这样做的许可,但是当我刷新页面时,无论如何它都被勾选了,所以我只是认为这是一个短暂的。

创建一个全新的Native Client应用程序后,我注意到默认情况下在AD下请求的唯一权限是"登录并阅读用户配置文件"。我改变了我原来的原生客户端设置以匹配和...宾果游戏,一切正常。

至于为什么这种错误配置会导致" trendingAround"失败了,我只能猜测。我假设在某种程度上有一个检查"这个应用程序是否被授予权限X?它有 - 太棒了!让我们打电话询问有关这种理解的信息"然后整个电话就会崩溃,因为用户并没有真正拥有这些权利。