Uwierzytelnianie wywołań interfejsu API

W tym przykładzie pokazujemy, jak za pomocą kont usługi wywoływać interfejs AdSense Platforms API w celu tworzenia subkont i zarządzania nimi.

Krok 1. Utwórz nowy projekt Google Cloud (lub użyj istniejącego)

Jeśli masz już projekt Google Cloud, możesz go użyć. W przeciwnym razie postępuj zgodnie z instrukcjami z poniższego przewodnika, aby dowiedzieć się, jak skonfigurować nowy projekt:

https://cloud.google.com/resource-manager/docs/creating-managing-projects

Krok 2. Utwórz konto usługi

Najlepszym sposobem tworzenia subkont jest użycie kont usługi. Aby utworzyć konto usługi, wykonaj te czynności:

  • Otwórz stronę kont usługi w Google Cloud.
  • Możesz użyć istniejącego konta usługi lub utworzyć nowe:
    • Kliknij „+ Utwórz konto usługi”
    • Wypełnij pole „Szczegóły konta usługi” formularz
    • Kroki 2 i 3 na stronie (przyznawanie dostępu do projektów i użytkowników) są opcjonalne

Dowiedz się więcej o tworzeniu kont usługi i zarządzaniu nimi.

Po utworzeniu konta usługi musisz je wysłać do Google, aby zostało dodane do konta AdSense. Jest to niezbędne, ponieważ konto usługi musi mieć dostęp do konta AdSense. Przekaż je za pośrednictwem menedżera konta.

Krok 3. Włącz interfejs AdSense Platform API w swoim projekcie Google Cloud

Nie można wykryć interfejsu AdSense Platform API, co oznacza, że aby włączyć go w swoim projekcie, musisz kliknąć ten link:

https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview

Krok 4. Utwórz klucz usługi

Aby wygenerować tokeny dostępu do użycia w wywołaniach interfejsu API, musisz utworzyć klucz usługi. Aby to zrobić:

  • Otwórz stronę kont usługi w Google Cloud.
  • W kolumnie działań obok konta usługi, którego chcesz użyć do utworzenia subkont, kliknij , a potem „Zarządzaj kluczami”
  • Kliknij „Dodaj klucz” i wybierz „Utwórz nowy klucz”
  • Jako typ klucza pozostaw wybrany plik JSON i kliknij „Utwórz”.
  • Plik JSON zostanie utworzony i pobrany na Twój komputer. Zachowaj bezpieczeństwo, ponieważ będzie potrzebne do uwierzytelniania wywołań interfejsu API

Dowiedz się więcej o tworzeniu kluczy konta usługi i zarządzaniu nimi.

Krok 5. Użyj bibliotek protokołu OAuth Google, aby wygenerować token dostępu

Google udostępnia biblioteki ułatwiające generowanie tokenów dostępu, które można wykorzystać do wywołań interfejsu API. Więcej informacji o generowaniu danych logowania do kont usługi znajdziesz tutaj:

https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests

Zakres interfejsu AdSense Platforms API jest następujący: https://www.googleapis.com/auth/adsense

Przykład w Pythonie

from google.auth.transport import requests
from google.oauth2 import service_account

CREDENTIAL_SCOPES = ["https://www.googleapis.com/auth/adsense"]
CREDENTIALS_KEY_PATH = 'service.json'

def get_service_account_token():
  credentials = service_account.Credentials.from_service_account_file(
          CREDENTIALS_KEY_PATH, scopes=CREDENTIAL_SCOPES)
  credentials.refresh(requests.Request())
  return credentials.token

Na tym etapie możesz zacząć wywoływać interfejsy API. Biblioteki klientów nie są jeszcze obsługiwane przez AdSense Platform API, więc zamiast nich trzeba wysyłać bezpośrednie żądania HTTP. Token dostępu należy umieścić jako nagłówek w żądaniu HTTP. Nagłówek powinien wyglądać tak:

Authorization: OAuth <credentials>

Przykłady podano na stronach interfejsu API.