Мой код Python (3.6.7) использует oauth2client для доступа к API Google Фото. Он успешно проходит проверку подлинности, но при попытке доступа к альбомам Google Фото он использует имя пользователя в качестве идентификатора проекта.
from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
# Setup the Photo v1 API
SCOPES = 'https://www.googleapis.com/auth/photoslibrary.readonly'
store = file.Storage('credentials.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('scripts/client_id.json', SCOPES)
creds = tools.run_flow(flow, store)
service = build('photoslibrary', 'v1', http=creds.authorize(Http()))
# Call the Photo v1 API
results = service.albums().list(
pageSize=10, fields="nextPageToken,albums(id,title)").execute()
items = results.get('albums', [])
if not items:
print('No albums found.')
else:
print('Albums:')
for item in items:
print('{0} ({1})'.format(item['title'].encode('utf8'), item['id']))
При выполнении приведенного выше кода, он запрашивает у меня страницу авторизации. Когда я успешно аутентифицируюсь, он показывает мне следующую ошибку:
HttpError 403 при запросе {URL} возвратил "API библиотеки фотографий не использовался в проекте 123456 раньше или он отключен. Включите его, посетив https://console.developers.google.com/apis/api/photoslibrary.googleapis.com/overview?project=123456, затем повторите попытку. Если вы включили Этот API недавно, подождите несколько минут, пока действие распространяется на наши системы, и повторите попытку. ">
Интересно, что число, выделенное жирным шрифтом 123456 (очевидно, изменено), фактически является первой частью client_id, найденного в client_id.json
Но идентификатор_проекта выглядит примерно так: test1-235515
Итак, что я получил от этой ошибки, так это то, что клиент oauth2client передает client_id вместо project_id. Поэтому, даже если я включил Photos API, он никогда не получит к нему правильный доступ.
Пожалуйста, помогите с этой ошибкой. Как я могу вручную изменить идентификатор_проекта?