【问题标题】:Malformed JSON response when GETting /me/memberOf (Microsoft Graph)GETting /me/memberOf (Microsoft Graph) 时的 JSON 响应格式错误
【发布时间】:2016-03-01 01:47:08
【问题描述】:

我正在尝试使用 Azure AD 和 Microsoft Graph 为公司内部 Web 应用设置登录流程。我想管理 AD 中的安全组,因此当用户通过 OAuth 登录时,我正在向 https://graph.microsoft.com/v1.0/me/memberOf 发出 GET 请求,以查看登录用户所在的组。用户有适当的范围来查看此信息,它在 Graph Explorer 中有效,但是当我在我的 PHP 应用程序中进行调用时,我收到了格式错误的 JSON 响应:

{
	"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#directoryObjects",
	"value": [{
				"@odata.type": "#microsoft.graph.group",
				"objectType": "Group",
				"objectId": "blahblah2",
				"deletionTimestamp": null,
				"description": "Users who have access to my web app's administration",
				"dirSyncEnabled": null,
				"displayName": "Web App Administrators",
				"lastDirSyncTime": null,
				"mail": null,
				"mailNickname": "blahblah2",
				"mailEnabled": false,
				"onPremisesSecurityIdentifier": null {
					"error": {
						"code": "InternalServerError",
						"message": "Unsupported extension property type.",
						"innerError": {
							"request-id": "blahblah3",
							"date": "2016-02-29T09:42:18"
						}
					}
				}

...这就是我得到的全部!

https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/entity-and-complex-type-reference#GroupEntity 的文档说这个 onPremisesSecurityIdentifier 字段与本地同步有关,但我从未使用过。

【问题讨论】:

    标签: json azure microsoft-graph-api


    【解决方案1】:

    您的请求附加了 api-version 查询参数(即 /v1.0/me/memberOf?api-version=1.6)。请删除该查询参数。 Microsoft Graph 通过 URL 路径中的第一段来标识 API 版本,例如https://graph.microsoft.com/v1.0/me/memberOfhttps://graph.microsoft.com/beta/me/memberOf

    【讨论】:

    • 谢谢,我向我用来连接的库的维护者提出了一个问题——不过,我确信它无论如何都不应该返回格式错误的 JSON!
    • 是的,我们正在进行更改以返回错误消息,指示此类请求的查询参数无效。它应该会在几天内推出。
    • 仅供参考 - 更改现已推出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多