Uwierzytelnianie wywołań interfejsu API
W tym przykładzie pokazujemy, jak za pomocą kont usługi wywoływać interfejs API platform AdSense do 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 wykonaj czynności opisane poniżej, aby skonfigurować nowy projekt:
https://cloud.google.com/resource-manager/docs/creating-managing-projects
Krok 2. Utwórz konto usługi
Konta usługi to najlepszy sposób tworzenia subkont. 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 formularz „Szczegóły konta usługi”
- 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 wysłać je do Google, aby dodać je do konta AdSense. Jest to niezbędne, ponieważ konto usługi musi mieć dostęp do Twojego konta AdSense. Przekaż tę informację swojemu menedżerowi konta.
Krok 3. Włącz interfejs AdSense Platform API w projekcie Google Cloud
Interfejsu API platformy AdSense nie można znaleźć, co oznacza, że musisz kliknąć ten link, aby włączyć go w swoim projekcie:
https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview
Krok 4. Utwórz klucz usługi
Aby generować 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ń dla konta usługi, którego chcesz użyć do tworzenia subkont, kliknij , a następnie „Zarządzaj kluczami”
- Kliknij „Dodaj klucz”, a następnie wybierz „Utwórz nowy klucz”.
- Zachowaj wybór JSON jako typ klucza i kliknij „Utwórz”.
- Zostanie utworzony plik json i pobrany na Twój komputer. Zachowaj to miejsce w bezpiecznym miejscu, ponieważ będzie potrzebne do uwierzytelnienia wywołań interfejsu API
Dowiedz się więcej o tworzeniu kluczy konta usługi i zarządzaniu nimi.
Krok 5. Użyj bibliotek OAuth Google do wygenerowania tokena dostępu
Google udostępnia biblioteki ułatwiające generowanie tokenów dostępu, za pomocą których można wykonywać wywołania interfejsu API. Informacje o generowaniu danych logowania dla 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. Ponieważ biblioteki klienta nie są jeszcze obsługiwane przez interfejs AdSense Platform API, należy wysyłać bezpośrednie żądania HTTP. Token dostępu należy umieścić w nagłówku żądania HTTP. Nagłówek powinien wyglądać tak:
Authorization: OAuth <credentials>
Przykłady podano na stronach interfejsu API.