使用User.ReadWrite.All权限

时间:2016-09-02 23:56:21

标签: office365 microsoft-graph

我们正在尝试使用图API来更新用户照片,但它失败了。

我们有一个app(客户端)ID,其中包含User.ReadWrite.All范围。

以下是我们在身份验证后获得的访问令牌中返回的范围:

"scp": "Mail.Read User.Read User.Read.All User.ReadWrite User.ReadWrite.All"

然后我们可以通过以下方式获取用户照片:

https://graph.microsoft.com/beta/users/{User ID}/photo/$value

但是,我们无法通过PUT更新照片

PUT /beta/users/{User ID}/photo/$value HTTP/1.1
Host: graph.microsoft.com
Authorization: Bearer eyJ0eXAiOiJKV1Q...iLCJhbGciOiJHJSA
Content-Type: image/jpeg
Cache-Control: no-cache

回应:403禁止

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "AccessDeniedException",
        "innerError": {
            "request-id": "35d88f98-78cd-42de-973e-0c0c1414da83",
            "date": "2016-09-02T23:45:27"
        }
    }
}

我们认为这应该按照文档工作: http://graph.microsoft.io/en-us/docs/api-reference/beta/api/profilephoto_update

它声明:

  

执行此API需要以下范围之一:

     

租户中任何用户的个人资料照片,包括已登录的用户 -    的 User.ReadWrite.All

1 个答案:

答案 0 :(得分:1)

用户个人资料照片更新目前仅支持User.ReadWrite范围。有https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-column-names.html用于更正此文档问题 - 不支持User.ReadWrite.All。