Проблема с Google OAuth для Google Ads API - python - PullRequest
0 голосов
/ 20 октября 2018

Я разрабатываю веб-приложение для получения информации о рекламных кампаниях Google от имени пользователей.Я использую библиотеку Python, предоставляемую Google, но у меня много проблем с получением начальных учетных данных для начала тестирования вызовов API.

Я следую этой документации: https://github.com/googleads/google-ads-python/wiki/OAuth-Web-Application-Flow

Я уже выполнил шаг 1, и у меня есть секрет клиента, идентификатор клиента и адрес перенаправления.

На шаге 2 мне нужно настроить веб-поток OAuth, и он говорит использовать следующий код:

import google.oauth2.credentials
import google_auth_oauthlib.flow

# Initialize the flow using the client ID and secret downloaded earlier.
flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file(
    'client_secret.json',
    scope=['https://www.googleapis.com/auth/adwords'])
# Indicate where the API server will redirect the user after the user completes
# the authorization flow. The redirect URI is required.
flow.redirect_uri = 'https://www.example.com/oauth2callback'

Когда я запускаю свое приложение, я получаю следующую ошибку: from_client_secrets_file () принимает ровно 3 аргумента (2 дано), поэтому я изменил код на следующий:

import google.oauth2.credentials
from google_auth_oauthlib.flow import Flow

# Initialize the flow using the client ID and secret downloaded earlier.
flow = Flow.from_client_secrets_file(
    'client_secret.json',
    scope=['https://www.googleapis.com/auth/adwords'],
    redirect_uri = ['https://www.dintdigital.com'])

Но я продолжаю получатьта же ошибка, и я не понимаю почему, потому что я буквально даю из аргумента from_client_secrets_file 3 аргумента вместо 2, как говорится в ошибке.

В настоящее время у меня есть собственный аккаунт Google Ads, и я использую его для тестирования и создания своегоприложение, но в конце я хочу использовать приложение для подключения к учетной записи любого пользователя и получения информации об их объявлениях (если они дают мне разрешение после аутентификации).

Сначала мне нужно получить все учетные данные и токены для моей учетной записи, но документация Google довольно сложна для понимания.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 25 октября 2018

Метод класса from_client_secrets_file имеет следующую подпись:

from_client_secrets_file(client_secrets_file, scopes, **kwargs)

Вы предоставляете параметр client_secrets_file, но не scopes.Вместо этого у вас есть другой параметр scope, который будет добавлен в отображение kwargs.Измените scope на scopes, и ошибка исчезнет.

(Я также заметил, что ваш URI перенаправления выглядит некорректно. Здесь поток завершит работу и предоставит токен доступа, поэтомускорее всего, не ваша домашняя страница. Если это действительно так, игнорируйте этот комментарий.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...