【发布时间】:2022-10-13 09:57:26
【问题描述】:
我最近花费了大量时间来确定如何使用 Azure AD 和 Postman 对来自 Project Online 的 OData 源进行身份验证。在不同的论坛上有很多关于这个的帖子,但我找不到一个给出完整工作示例的帖子。以下是我使用的方法。
【问题讨论】:
标签: oauth-2.0 azure-active-directory postman odata project-online
我最近花费了大量时间来确定如何使用 Azure AD 和 Postman 对来自 Project Online 的 OData 源进行身份验证。在不同的论坛上有很多关于这个的帖子,但我找不到一个给出完整工作示例的帖子。以下是我使用的方法。
【问题讨论】:
标签: oauth-2.0 azure-active-directory postman odata project-online
在在线项目中分配权限
打开服务器设置/管理组。 选择您希望允许访问 OData Feed 的组,并确保它在 Global Permissions 中的 General 下勾选 Access Project Server Reporting Service。
配置 Azure 广告
定义重定向 Uri。 (邮递员请使用https://oauth.pstmn.io/v1/callback)
确认您拥有 Microsoft Graph 的 User.Read 权限。请注意,我阅读的一些论坛帖子建议从 Sharepoint 添加 ProjectWebAppReporting 权限,但我没有发现我需要它。
添加范围。我叫我的 ProjectOnline.Read,但我认为你怎么称呼它并不重要。
配置邮递员
按照以下内容创建一个新请求并定义一个获取查询。 https://[您的域].sharepoint.com/sites/pwa/_api/ProjectData/Projects
这需要一个项目列表。
在 params 下,如果您想要 Json 输出,请添加一个新键 accept = application/json。默认为 XML
在授权选项卡下,选择以下选项:
如果您正确输入所有这些,然后按获取新访问令牌,您应该会看到一个打开的浏览器,输入您的凭据,然后一个令牌应该返回给 Postman,如下面的屏幕截图所示。按使用令牌。
请注意,如果您有兴趣查看令牌包含的内容,可以在https://jwt.io/ 对其进行解码
此时,按发送并尝试运行您的查询。您可能会收到以下错误: {"error_description":"引发了 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' 类型的异常。"}
我会告诉您然后转到“高级选项”选项卡并将您的根共享点 URL [https://[Your Domain].sharepoint.com] 作为资源放入,从而为您节省数小时的挫败感。
获取一个新的访问令牌,然后再次按发送,您应该在响应中以 Json 结束,如下所示。
希望您能做到这一点并证明可以在 Excel/Power BI 生态系统之外对 Project Online OData 源进行身份验证。我将由您决定如何以您选择的应用程序/语言实现此身份验证。
【讨论】: