通过JavaScript访问Microsoft Graph API

时间:2015-11-22 14:59:56

标签: office365 microsoft-graph

我正在寻找一个与Microsoft Graph API一起使用的JavaScript示例。虽然我找到了https://github.com/OfficeDev/O365-Angular-Microsoft-Graph-Connect;我不懂它。我是否需要成为AAD管理员才能正确注册?我只是我所在组织的Office365租户的常规用户。

我在http://graph.microsoft.io/app-registration使用了向导。 我通过1)当前的注册工具和2)新的注册门户注册了应用程序。这两条路线都为我提供了一个独特的clientId。 当我尝试通过clientId 1运行Angular示例时,我收到以下错误:

AADSTS90093: Calling principal cannot consent due to lack of permissions.

通过clientId 2我收到以下错误:

Application '<clientId>' is not supported for this API version.

你的指导是什么?

2 个答案:

答案 0 :(得分:3)

根据您为应用程序配置的权限,可能需要管理员的批准。这些权限称为需要管理员同意并在http://graph.microsoft.io/docs/authorization/permission_scopes指定的权限。

如果您正在构建新的应用程序,那么如果您使用开发人员租户则最容易。你可以在http://dev.office.com/devprogram获得它。这样,您就可以轻松尝试不同的选项,而无需始终要求更改生产环境。

答案 1 :(得分:3)

完全同意Waldek的说法 - 在开始构建应用时,这是一个很好的建议。好的 - 您可以尝试使用3个注册门户网站http://graph.microsoft.io/app-registration。在下面的每一个中添加更多细节:

  1. Office在这里构建的轻量级:http://dev.office.com/app-registration可能是最容易使用的,并且开始使用,再加上使用这种经验,它将让您有机会以下面的语言下载工作示例你的选择(JS应该是一个选择)。
  2. Azure管理门户 - https://manage.windowsazure.com。此门户网站要求您拥有Azure订阅,然后才能使用它。这是一个更重量级的门户网站,但它确实允许您完全自定义您的应用注册。
  3. “新”应用注册门户网站:https://apps.dev.microsoft.com/Disambiguation?ru=https%3a%2f%2fapps.dev.microsoft.com%2f。这是我们的身份平台更新预览的一部分,该平台支持使用Microsoft帐户或工作/学校组织帐户进行融合身份验证,并允许您的应用获取令牌以调用支持消费者或商业帐户的API。这是融合身份验证的授权和令牌端点的v2。 Microsoft Graph DOES支持为融合身份验证注册的应用程序。您获得的第二个问题(此版本不支持clientId)可能是由于您的应用程序(仅受v2 auth端点支持的新融合auth应用程序)尝试从v1 auth端点获取令牌。请参阅此处关于融合身份验证的文档:http://graph.microsoft.io/docs/authorization/converged_auth
  4. 希望这有帮助,