Uwierzytelnianie wywołań interfejsu API
W tym przykładzie pokazujemy, jak za pomocą kont usług można wywoływać interfejs API AdSense Platforms, aby tworzyć subkonta i nimi zarządzać.
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 poniżej, aby skonfigurować nowy projekt:
https://cloud.google.com/resource-manager/docs/creating-managing-projects
Krok 2. Utwórz konto usługi
Używanie kont usługi to najlepszy sposób na tworzenie subkont. Aby utworzyć konto usługi:
- Otwórz w Google Cloud stronę Konta usługi.
- 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.
Gdy utworzysz konto usługi, musisz je wysłać do Google, aby zostało dodane do Twojego konta AdSense. Jest to bardzo ważne, 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
Interfejs AdSense Platform API jest niedostępny, dlatego 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 wygenerować tokeny dostępu do użycia w wywołaniach interfejsu API, musisz utworzyć klucz usługi. Aby to zrobić:
- Otwórz w Google Cloud stronę Konta usługi.
- W kolumnie działań obok konta usługi, którego chcesz użyć do utworzenia subkont, kliknij
, a następnie „Zarządzaj kluczami”.
- Kliknij „Dodaj klucz”, a następnie „Utwórz nowy klucz”.
- Nie zmieniaj typu klucza, pozostaw JSON, i kliknij „Utwórz”.
- Na komputer zostanie utworzony i pobrany plik JSON. Zachowaj go w bezpiecznym miejscu, ponieważ będzie potrzebny 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 OAuth Google do wygenerowania tokena dostępu
Google udostępnia biblioteki, które ułatwiają generowanie tokenów dostępu, których można używać do wywoływania interfejsów API. Dowiedz się, jak wygenerować dane logowania dla kont usługi:
https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests
Zakres interfejsu AdSense Platforms API: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 klienta nie są jeszcze obsługiwane w przypadku interfejsu AdSense Platform API, dlatego należy wysyłać bezpośrednie żądania HTTP. Token dostępu powinien być dołączony jako nagłówek w żądaniu HTTP. Nagłówek powinien wyglądać tak:
Authorization: OAuth <credentials>
Przykłady znajdziesz na stronach interfejsu API.