API Graph: в токене должны присутствовать утверждения Get Share, scp или role - PullRequest
0 голосов
/ 15 апреля 2020

Я использую Microsoft Graph API для загрузки общей электронной таблицы с помощью URL-адреса общего ресурса.

Мое приложение - приложение-демон Python, и через него я получаю маркер method .

Мой запрос такой (просто, как документация указывает ):

import base64

api_url = 'https://graph.microsoft.com/v1.0/shares/{}/driveItem'
base64_value = base64.b64encode(share_id.encode()).decode()
encoded_share_url = (
    'u!' +
    base64_value.rstrip('=').replace('/', '_').replace('+', '-')
)
resp = self._get(api_url.format(encoded_share_url))

Что дает этот ответ:

{
    'error': {
        'code': 'AccessDenied',
        'message': 'Either scp or roles claim need to be present in the token.',
        'innerError': {
            'request-id': '0815e733-2686-45de-86a6-5daeb49c1a3d',
            'date': '2020-04-15T18:41:36'
        }
    }
}

Мой токен-ответ от сервера:

{
    'access_token': '<the token>',
    'expires_in': 86399,
    'ext_expires_in': 86399,
    'token_type': 'Bearer'
}

Как мне сделать эту работу?

...