php - 如何使用新的 microsoft graph api 创建身份验证 token ?

标签 php azure office365 azure-ad-graph-api microsoft-graph-api

我一直在使用这个:

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 时,我得到

"code": "InvalidAuthenticationToken",
"message": "CompactToken parsing failed with error code: -2147184105"

有道理,它从

获取 token
https://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/

相关文章:

azure - 在 azure 流分析中使用拆分

php 百分比机会

azure - 每次写入错误时,我是否可以触发 LogAnalytics 发送包含错误本身的电子邮件?

sql - 尝试在azure中创建应用程序,它将根据SQL Server中的DML操作将xml发布到URL

c# - Office 365 客户端 API SendMailAsync 返回未经授权

office365 - Sharepoint Online guest 链接需要登录才能查看页面

excel - 是否有简单的 "hello world"示例 Office 365 Excel 加载项指南?

javascript - 从服务器 PHP 数组中提取 JSON 数据时出现问题

php - 文本区域中的跨浏览器兼容回车

php - 未找到 PrestaShop 模块类(命名空间)