我们正在尝试使用图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
答案 0 :(得分:1)
用户个人资料照片更新目前仅支持User.ReadWrite范围。有https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-column-names.html用于更正此文档问题 - 不支持User.ReadWrite.All。