我正在尝试使用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字段与on-premesis同步有关,但我从未使用过。
答案 0 :(得分:1)
您的请求附加了api-version查询参数(即/v1.0/me/memberOf?api-version=1.6)。请删除该查询参数。 Microsoft Graph通过URL路径中的第一个段识别API版本,例如: https://graph.microsoft.com/v1.0/me/memberOf或https://graph.microsoft.com/beta/me/memberOf