我一直在使用这个:
https://github.com/Azure-Samples/active-directory-php-graphapi-web.git
访问图形 API,它可以工作。我的 Azure AD 注册应用程序能够查询 API 以获取目录中的用户列表。
但现在我想列出目录中用户的文件夹。 本页
http://graph.microsoft.io/docs
表示网址应该是:
https://graph.microsoft.com/v1.0/me/drive/root/children
当我在 REST 调用中使用该 url 时,我得到 p>
"code": "InvalidAuthenticationToken",
"message": "CompactToken parsing failed with error code: -2147184105"
有道理,它从
获取 tokenhttps://graph.windows.net
所以,我迷路了。 API 有很多不同的版本,从消费级 onedrive(以前称为 skydrive)、第一个图形 api(我通过 https://graph.windows.net 访问)、office 365 API(我通过 https://login.microsoftonline.com 访问)以及现在的图形api(以前称为通用 api https://graph.microsoft.com )我只是不知道从哪里开始寻找正确的信息。
我目前正在使用 PHP,我确信在微软支持的平台列表中 PHP 的支持率会很低,但是关于访问 token 生成如何在最新 api 与 o365 api 中工作的任何方向其他图形 API(位于 graph.windows.net)将不胜感激。
有人和我一样困惑吗? 是否有一些核心引用资料可以解释这些 api 之间的所有差异以及如何访问它们?
最佳答案
Microsoft Graph 应为您提供一个端点(和 token 获取)来访问 Office 365 和 Azure AD 服务提供的数据。请访问https://graph.microsoft.com了解更多详细信息 - 但请使用 v1.0 版本,因为这是适合生产服务的 GA 版本。
关于没有用户 UI 的服务应用程序的问题 - 您可以使用 client_credential 流获取仅应用程序访问 token 。 (目前 Microsoft Graph 文档中没有对此进行记录,但支持并描述了 elsewhere - 只需将资源设置为 https://graph.microsoft.com/ )。在 Azure 管理门户中,您还需要选择您的应用程序所需的“应用程序权限”。目前支持仅应用程序访问邮件资源,但不支持仅应用程序访问一个驱动器资源(通过 Microsoft graph)。我们很快就会开放它。
希望这有帮助,
关于php - 如何使用新的 microsoft graph api 创建身份验证 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33791463/