Сеанс аутентификации не определен - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь использовать Google Photos API для загрузки своих изображений, основываясь на шагах по следующей ссылке.

https://developers.google.com/photos/library/guides/upload-media

После выполнения Использование OAuth 2.0 для приложений веб-сервера я просто получаю ответ Oauth2.0_token (формат JSON с access_token, refresh_token ...). Однако после того, как я поместил эту строку токена с «Bearer» в заголовки запроса, ответом является ошибка 401, сообщение об ошибке «Код 16 Сеанс аутентификации не определен».

Я не могу найти информацию, чтобы справиться с этим, спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Одна из причин, по которой это может происходить, заключается в том, что вы изначально авторизовали своего пользователя для доступа только для чтения. Если вы прошли через процесс авторизации с областью .readonly, ваш токен на предъявителя отражает эту авторизацию (и токен сохраняется в вашем файле учетных данных). Если вы измените область действия, но не получите новый токен авторизации, вы получите эту ошибку при попытке загрузки. Просто переделайте поток авторизации с новой определенной областью:

SCOPES = 'https://www.googleapis.com/auth/photoslibrary'
store = file.Storage('path_to_store')
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('google_credentials.json', SCOPES)
    creds = tools.run_flow(flow, store)

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

0 голосов
/ 30 августа 2018

Возможно, у вас неправильные разрешения. Убедитесь, что вы запрашиваете токен с соответствующей областью действия. Для доступа только для записи вам нужно 'https://www.googleapis.com/auth/photoslibrary.appendonly'

Источник: https://developers.google.com/photos/library/guides/authentication-authorization#what-scopes

...