Запрещено при доступе к изображениям / наклейкам в сообщениях чата, возвращаемых из Graph Api - PullRequest
0 голосов
/ 05 июля 2019

Я получил «Запрещено» при доступе к ссылке на изображение / стикер в сообщении чата, возвращенном из Microsoft Graph Api.

Я получил следующее сообщение чата от Graph Api (не все свойства не перечислены):

{
    "body": {
        "contentType": "html",
        "content": "<div><div>Message 499\n<div><span><img src=\"https://graph.microsoft.com/beta/teams/82d87df3-b8bd-4bdc-9090-5f8666b32134/channels/19:baf66ad0b75f4656bf20ff5667fae565@thread.skype/messages/1562258187781/hostedContents/aWQ9eF8wLWN1cy1kOC0xYjlkYTQ2NzA1ZTI5YjA5N2QzMDgyZjc2ODZiYTlhMSx0eXBlPTEsdXJsPWh0dHBzOi8vdXMtYXBpLmFzbS5za3lwZS5jb20vdjEvb2JqZWN0cy8wLWN1cy1kOC0xYjlkYTQ2NzA1ZTI5YjA5N2QzMDgyZjc2ODZiYTlhMS92aWV3cy9pbWdv/$value\" width=\"250\" height=\"250\" style=\"vertical-align:bottom; width:250px; height:250px\"></span>\n\n</div>\n\n\n</div>\n</div>"
    }
}

Затем я попытался получить доступ к ссылке на изображение

GET https://graph.microsoft.com/beta/teams/82d87df3-b8bd-4bdc-9090-5f8666b32134/channels/19:baf66ad0b75f4656bf20ff5667fae565@thread.skype/messages/1562258187781/hostedContents/aWQ9eF8wLWN1cy1kOC0xYjlkYTQ2NzA1ZTI5YjA5N2QzMDgyZjc2ODZiYTlhMSx0eXBlPTEsdXJsPWh0dHBzOi8vdXMtYXBpLmFzbS5za3lwZS5jb20vdjEvb2JqZWN0cy8wLWN1cy1kOC0xYjlkYTQ2NzA1ZTI5YjA5N2QzMDgyZjc2ODZiYTlhMS92aWV3cy9pbWdv/$value

Headers:
Authorization: bearer [access_token]

Ответ был:

403 Forbidden
{
    "error": {
        "code": "Forbidden",
        "message": "Forbidden",
        "innerError": {
            "request-id": "3143682e-4dd2-4057-ad83-e4d7fbf32b98",
            "date": "2019-07-05T07:09:06"
        }
    }
}

Headers:
request-id: 3143682e-4dd2-4057-ad83-e4d7fbf32b98
client-request-id: 3143682e-4dd2-4057-ad83-e4d7fbf32b98
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Southeast Asia","Slice":"SliceC","Ring":"3","ScaleUnit":"001","RoleInstance":"AGSFE_IN_2","ADSiteName":"SEA"}}
Date: Fri, 05 Jul 2019 07:09:05 GMT

Однако я смог перечислить размещенное содержимоетот же канал:

GET: https://graph.microsoft.com/beta/teams/82d87df3-b8bd-4bdc-9090-5f8666b32134/channels/19:baf66ad0b75f4656bf20ff5667fae565@thread.skype/messages/1562258187781/hostedContents

Headers:
Authorization: bearer [access_token]

Response
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('82d87df3-b8bd-4bdc-9090-5f8666b32134')/channels('19%3Abaf66ad0b75f4656bf20ff5667fae565%40thread.skype')/messages('1562258187781')/hostedContents",
    "@odata.count": 1,
    "value": [
        {
            "id": "aWQ9eF8wLWN1cy1kOC0xYjlkYTQ2NzA1ZTI5YjA5N2QzMDgyZjc2ODZiYTlhMSx0eXBlPTEsdXJsPWh0dHBzOi8vdXMtYXBpLmFzbS5za3lwZS5jb20vdjEvb2JqZWN0cy8wLWN1cy1kOC0xYjlkYTQ2NzA1ZTI5YjA5N2QzMDgyZjc2ODZiYTlhMS92aWV3cy9pbWdv"
        }
    ]
}

Кроме того, мне удалось получить изображение из другого сообщения чата в другом канале (общем канале) в той же команде.

GET https://graph.microsoft.com/beta/teams/82d87df3-b8bd-4bdc-9090-5f8666b32134/channels/19:db70de74054944fe9dbce0a592eddb6d@thread.skype/messages/1562252008138/hostedContents/aWQ9eF8wLWN1cy1kNi1iYWY0OTc0ZGNjMjc0MTAwMjI5YmMyZjcyY2Y0ODk2NSx0eXBlPTEsdXJsPWh0dHBzOi8vdXMtYXBpLmFzbS5za3lwZS5jb20vdjEvb2JqZWN0cy8wLWN1cy1kNi1iYWY0OTc0ZGNjMjc0MTAwMjI5YmMyZjcyY2Y0ODk2NS92aWV3cy9pbWdv/$value

Headers:
Authorization: bearer [access_token]

Пользователь, связанный с токеном доступа, является одним из владельцев команды, но не тот, кто публикует сообщение чата с изображением.

Чего мне здесь не хватает??

Обновление : я провел дополнительное тестирование и обнаружил следующий шаблон.

  • Проблема не возникла для общего канала.
  • Дляна других каналах, если пользователь не разместил ни одного сообщения на канале, доступ к ссылке на изображение в сообщениях чата привел к ошибке Forbidden.После того, как пользователь опубликовал одно сообщение, он может получить доступ к ссылке.

Похоже, проблема синхронизации разрешений.Любая идея?

...