首页 > 解决方案 > 创建技能熟练度失败并出现错误“ErrorAccessDeniedForRole”

问题描述

我正在尝试使用 Microsoft Graph API 为不同的用户创建新技能,但它总是以以下错误响应结束。

{
"error": {
    "code": "ErrorAccessDeniedForRole",
    "message": "Exception of type 'Microsoft.Fast.Profile.Core.Exception.ProfileAccessDeniedException' was thrown.",
    "innerError": {
        "date": "2020-10-07T07:29:49",
        "request-id": "81ff3a7b-907d-4b20-8de2-83b76448e8fa",
        "client-request-id": "cf5f9444-dac4-b005-040c-e4bd1c489dd7"
    }
}

}

该过程已在此处记录:https ://docs.microsoft.com/en-us/graph/api/profile-post-skills?view=graph-rest-beta&tabs=csharp

我正在使用以下属性。如果我尝试通过 Graph Explorer 或 Azure AD 中的应用程序注册来创建技能,这并不重要。关于文档,两者都应该得到支持,但以相同的错误结束。

权限: User.ReadWrite.All(应用程序或委托)
Uri: https ://graph.microsoft.com/beta/users/{id 或 upn }/profile/skills
方法:发布正文

{
  "categories": [
    "Professional"
  ],
  "allowedAudiences": "organization",
  "displayName": "API Design",
  "proficiency": "generalProfessional",
  "collaborationTags": [
    "ableToMentor"
  ]
}

我尝试了几种主体和权限的组合。他们都没有工作。它总是以上面显示的错误结束。

我已经创建了 GitHub 问题。
https://github.com/microsoftgraph/microsoft-graph-docs/issues/10205
但它似乎不是解决此类问题的正确位置。

如果您需要任何进一步的信息,请告诉我。
提前非常感谢。
卢卡斯

标签: microsoft-graph-api

解决方案


经过我的反复测试,我得出一个结论:只能skillProficiency为自己创建,不能为其他用户创建。(请注意,我将proficiency属性设置为elementary)。

在此处输入图像描述


推荐阅读