ValueError: Секреты клиента должны быть для веб-приложения или установленного приложения. - PullRequest
0 голосов
/ 04 июня 2019

Я выполняю пример кода quickstart.py в Python Quickstart и получаю следующую ошибку:

ValueError: Секреты клиента должны быть для веб-приложения или установленного приложения.

Я создал файл credentials.json с правами владельца проекта.

Ошибка возникает в следующем фрагменте кода:

if os.path.exists('token.pickle'):
    with open('token.pickle', 'rb') as token:
        creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
    if creds and creds.expired and creds.refresh_token:
        creds.refresh(Request())
    else:
        flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
        creds = flow.run_local_server()
    # Save the credentials for the next run
    with open('token.pickle', 'wb') as token:
        pickle.dump(creds, token)

Я также замечаючто файл token.pickle не создается.Это вывод ошибки:

Файл "updateSlidev01.py", строка 51, в main () Файл "updateSlidev01.py", строка 31, в основном потоке = InstalledAppFlow.from_client_secrets_file ('учетные данные).json ', SCOPES) Файл "/Library/Python/2.7/site-packages/google_auth_oauthlib/flow.py", строка 174, в файле from_client_secrets_file, возвращает cls.from_client_config (client_config, scopes = scopes, файл ** kwargs) "Python / 2.7 / site-packages / google_auth_oauthlib / flow.py ", строка 147, в from_client_config 'Секреты клиента должны быть для веб-приложения или установленного приложения.') ValueError: Секреты клиента должны быть для веб-приложения или установленного приложения.

1 Ответ

0 голосов
/ 13 июня 2019

Проблема заключалась в том, что я использовал json, сгенерированный в разделе Ключи учетной записи службы, а не в идентификаторах клиентов OAuth 2.0.

...