Tworzenie aplikacji wiersza poleceń w Pythonie, która wysyła żądania do interfejsu Postmaster Tools API
Krótkie wprowadzenia wyjaśniają, jak skonfigurować i uruchomić aplikację, która wywołuje interfejs Google Workspace API. W tym krótkim wprowadzeniu używamy uproszczonego podejścia do uwierzytelniania, które jest odpowiednie dla środowiska testowego. W przypadku środowiska produkcyjnego zalecamy zapoznanie się z uwierzytelnianiem i autoryzacją przed wybraniem danych logowania odpowiednich dla Twojej aplikacji.
W tym krótkim wprowadzeniu używamy zalecanych przez Google Workspace bibliotek klienta interfejsu API, aby obsługiwać niektóre szczegóły przepływu uwierzytelniania i autoryzacji.
Cele
- Skonfiguruj środowisko.
- Zainstaluj bibliotekę klienta.
- Skonfiguruj próbkę.
- Uruchom próbkę.
Wymagania wstępne
Aby uruchomić to krótkie wprowadzenie, musisz spełnić te wymagania wstępne:
- Python 3.10.7 lub nowszy
- Narzędzie do zarządzania pakietami pip
- Projekt Google Cloud.
- Konto Google z włączoną usługą Gmail.
Konfigurowanie środowiska
Aby ukończyć to krótkie wprowadzenie, skonfiguruj środowisko.
Włącz API
Zanim zaczniesz korzystać z interfejsów API Google, musisz je włączyć w projekcie w chmurze Google. W jednym projekcie Google Cloud możesz włączyć co najmniej 1 interfejs API.W konsoli Google Cloud włącz interfejs Postmaster Tools API.
Konfigurowanie ekranu zgody OAuth
Jeśli do ukończenia tego krótkiego wprowadzenia używasz nowego projektu w chmurze Google Cloud, skonfiguruj ekran zgody OAuth. Jeśli ten krok został już wykonany w przypadku projektu w chmurze, przejdź do następnej sekcji.
- W Konsoli interfejsów API Google otwórz Menu > Platforma uwierzytelniania Google > Elementy marki.
- Jeśli platforma uwierzytelniania Google została już skonfigurowana, możesz skonfigurować te ustawienia ekranu zgody OAuth w sekcjach Elementy marki, Odbiorcy i Dostęp do danych. Jeśli zobaczysz komunikat Platforma uwierzytelniania Google nie została jeszcze skonfigurowana, kliknij Rozpocznij:
- W sekcji Informacje o aplikacji w polu Nazwa aplikacji wpisz nazwę aplikacji.
- W polu Adres e-mail dla użytkowników potrzebujących pomocy wybierz adres e-mail, na który użytkownicy mogą się kontaktować, jeśli mają pytania dotyczące zgody.
- Kliknij Dalej.
- W sekcji Odbiorcy wybierz Wewnętrzni.
- Kliknij Dalej.
- W sekcji Dane kontaktowe wpisz Adres e-mail, na który chcesz otrzymywać powiadomienia o wszelkich zmianach w projekcie.
- Kliknij Dalej.
- W sekcji Zakończ zapoznaj się z Zasadami dotyczącymi danych użytkownika w usługach interfejsu API Google. Jeśli się z nimi zgadzasz, zaznacz pole Akceptuję zasady dotyczące danych użytkownika w usługach interfejsu API Google.
- Kliknij Dalej.
- Kliknij Utwórz.
- Na razie możesz pominąć dodawanie zakresów. W przyszłości, gdy będziesz tworzyć aplikację do użytku poza organizacją Google Workspace, musisz zmienić Typ użytkownika na Zewnętrzny. Następnie dodaj zakresy autoryzacji wymagane przez aplikację. Więcej informacji znajdziesz w pełnym przewodniku Konfigurowanie ekranu zgody OAuth.
Autoryzowanie danych logowania w aplikacji na komputer
Aby uwierzytelniać użytkowników końcowych i uzyskiwać dostęp do danych użytkowników w aplikacji, musisz utworzyć co najmniej 1 identyfikator klienta OAuth 2.0. Identyfikator klienta wskazuje konkretną aplikację na serwerach OAuth Google. Jeśli Twoja aplikacja działa na wielu platformach, musisz utworzyć osobny identyfikator klienta dla każdej z nich.- W konsoli Google Cloud otwórz Menu > Platforma uwierzytelniania Google > Klienci.
- Kliknij Utwórz klienta.
- Kliknij Typ aplikacji > Aplikacja na komputer.
- W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
- Kliknij Utwórz.
Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.
- Zapisz pobrany plik JSON jako
credentials.jsoni przenieś plik do katalogu roboczego.
Instalowanie biblioteki klienta Google
Zainstaluj bibliotekę klienta Google do Pythona:
python3 -m pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Konfigurowanie próbki
- W katalogu roboczym utwórz plik o nazwie
quickstart.py. W pliku
quickstart.pyumieść ten kod:from __future__ import print_function import pickle import os.path from googleapiclient.discovery import build from google_auth_oauthlib.flow import InstalledAppFlow from google.auth.transport.requests import Request from googleapiclient import errors # If modifying these scopes, delete the file token.pickle. SCOPES = ['https://www.googleapis.com/auth/postmaster.traffic.readonly'] def main(): """Shows basic usage of the PostmasterTools v2 API. Prints the visible domains on user's domain dashboard in https://postmaster.google.com/managedomains. """ creds = None # The file token.pickle stores the user's access and refresh tokens, and is # created automatically when the authorization flow completes for the first # time. 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(port=0) # Save the credentials for the next run with open('token.pickle', 'wb') as token: pickle.dump(creds, token) service = build('gmailpostmastertools', 'v2', credentials=creds) response = service.domains().list().execute() domains = response.get('domains') if not domains: print('No domains found.') else: print('Domains:') for domain in domains: print(domain) print('Querying stats for %s' % domain['name']) try: stats = service.domains().domainStats().query( parent=domain['name'], startDate={'year': 2024, 'month': 1, 'day': 1}, endDate={'year': 2024, 'month': 1, 'day': 7}).execute() print(stats) except errors.HttpError as err: print('An error occurred during stats query: %s' % err) if __name__ == '__main__': main()
Uruchamianie próbki
W katalogu roboczym skompiluj i uruchom próbkę:
python3 quickstart.py
-
Gdy uruchomisz próbkę po raz pierwszy, pojawi się prośba o autoryzację dostępu:
- Jeśli nie zalogujesz się na swoje konto Google, zrób to, gdy pojawi się prośba. Jeśli zalogujesz się na kilka kont, wybierz jedno z nich, którego chcesz użyć do autoryzacji.
- Kliknij Akceptuję.
Twoja aplikacja w Pythonie zostanie uruchomiona i wywoła interfejs Postmaster Tools API.
Informacje o autoryzacji są przechowywane w systemie plików, więc gdy następnym razem uruchomisz przykładowy kod, nie zobaczysz prośby o autoryzację.
Dalsze kroki
- Rozwiązywanie problemów z uwierzytelnianiem i autoryzacją
- Dokumentacja referencyjna interfejsu Postmaster Tools API REST
- Dokumentacja biblioteki klienta interfejsów API Google do Pythona
- Dokumentacja interfejsu Postmaster Tools API PyDoc