我正在尝试使用 Microsoft Graph 发布或修补教育课程,但总是出错。
要求
https://graph.microsoft.com/V1.0/education/classes
{
"description": "Health Level 1",
"classCode": "Health 501",
"displayName": "Health 1",
"externalId": "11019",
"externalName": "Health Level 1",
"externalSource": "sis",
"mailNickname": "fineartschool.net"
}
回复
{
"code": "AccessDenied",
"message": "Required scp claim values are not provided.",
"innerError": {
"request-id": "e1183015-d942-491a-9949-4aa73bbef893",
"date": "2018-06-21T08:44:35"
}
}
我的应用程序具有创建教育课程所需的权限。(为了测试,我的应用程序具有所有可能的应用程序和委派权限)。发布用户、组等没有问题。
在 AD 门户中分配权限后,我执行了以下操作:
获得应用程序的管理员同意
https://login.microsoftonline.com/myTenant/adminconsent?client_id=myClientID&redirect_uri=MyRedirectURI
获取授权码
https://login.microsoftonline.com/myTenant/oauth2/authorize?client_id=myClientID&response_type=code&redirect_uri=MyRedirectURI&response_mode=query&resource=https://graph.microsoft.com/
获取访问令牌
一切顺利。获得访问令牌后,我有以下范围:
- ......
- EduRoster.Read
- EduRoster.ReadBasic
- EduRoster.ReadWrite
- ...
Graph 文档说您需要权限 ApplicationEduRoster.ReadWrite.All
还在 Graph Explorer 中测试了 POST 和 PATCH,但得到了相同的响应。