Python – krótkie wprowadzenie

Krótkie wprowadzenia wyjaśniają, jak skonfigurować i uruchomić aplikację, która wywołuje interfejs Google Workspace API.

Krótkie wprowadzenia do Google Workspace wykorzystują biblioteki klienta interfejsu API do obsługi niektórych szczegółów procesu uwierzytelniania i autoryzacji. Na potrzeby własnych aplikacji zalecamy używanie bibliotek klienta. W tym krótkim wprowadzeniu używamy uproszczonej metody uwierzytelniania, która jest odpowiednia dla środowiska testowego. W przypadku środowiska produkcyjnego zalecamy zapoznanie się z uwierzytelnianiem i autoryzacją przed wybraniem danych logowania odpowiednich dla aplikacji.

Utworzyć aplikację wiersza poleceń w Pythonie, która wysyła żądania do interfejsu API Arkuszy Google.

Cele

  • skonfigurować środowisko,
  • Zainstaluj bibliotekę klienta.
  • Skonfiguruj fragment.
  • Uruchom próbkę.

Wymagania wstępne

Aby uruchomić to krótkie wprowadzenie, musisz spełnić te wymagania wstępne:

  • Konto Google.

Konfigurowanie środowiska

Aby wykonać to krótkie wprowadzenie, skonfiguruj środowisko.

Włącz API

Zanim zaczniesz korzystać z interfejsów API Google, musisz włączyć je w projekcie Google Cloud. W jednym projekcie Google Cloud możesz włączyć 1 lub więcej interfejsów API.

Jeżeli do wykonania tego krótkiego wprowadzenia używasz nowego projektu Google Cloud, skonfiguruj ekran zgody OAuth i dodaj siebie jako użytkownika testowego. Jeśli masz już za sobą ten krok w swoim projekcie Cloud, przejdź do następnej sekcji.

  1. W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Ekran akceptacji OAuth.

    Otwórz ekran zgody OAuth

  2. Wybierz typ użytkownika aplikacji, a potem kliknij Utwórz.
  3. Wypełnij formularz rejestracji aplikacji, a następnie kliknij Zapisz i kontynuuj.
  4. Na razie możesz pominąć dodawanie zakresów i kliknąć Zapisz i kontynuuj. Gdy w przyszłości będziesz tworzyć aplikację do użytku poza swoją organizacją Google Workspace, musisz dodać i zweryfikować zakresy autoryzacji wymagane przez tę aplikację.

  5. Jeśli jako typ użytkownika wybierzesz Zewnętrzny, dodaj użytkowników testowych:
    1. W sekcji Użytkownicy testowi kliknij Dodaj użytkowników.
    2. Wpisz swój adres e-mail i pozostałych autoryzowanych użytkowników testowych, a następnie kliknij Zapisz i kontynuuj.
  6. Przejrzyj podsumowanie rejestracji aplikacji. Aby wprowadzić zmiany, kliknij Edytuj. Jeśli rejestracja aplikacji wygląda na prawidłową, kliknij Back to Dashboard (Powrót do panelu).

Autoryzacja danych logowania dla aplikacji komputerowej

Aby uwierzytelnić użytkowników i uzyskać dostęp do ich danych 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.
  1. W konsoli Google Cloud kliknij Menu > Interfejsy API i usługi > Dane logowania.

    Otwórz stronę Dane logowania

  2. Kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
  3. Kliknij Typ aplikacji > Aplikacja komputerowa.
  4. W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. Kliknij Utwórz. Pojawi się ekran utworzony przez klienta OAuth zawierający nowy identyfikator i tajny klucz klienta.
  6. Kliknij OK. Nowo utworzone dane logowania pojawią się w sekcji Identyfikatory klienta OAuth 2.0.
  7. Zapisz pobrany plik JSON jako credentials.json i przenieś go do katalogu roboczego.

Instalowanie biblioteki klienta Google

  • Zainstaluj bibliotekę klienta Google dla Pythona:

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
    

Konfigurowanie przykładu

  1. W katalogu roboczym utwórz plik o nazwie quickstart.py.
  2. Umieść ten kod w elemencie quickstart.py:

    sheets/quickstart/quickstart.py
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ["https://www.googleapis.com/auth/spreadsheets.readonly"]
    
    # The ID and range of a sample spreadsheet.
    SAMPLE_SPREADSHEET_ID = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
    SAMPLE_RANGE_NAME = "Class Data!A2:E"
    
    
    def main():
      """Shows basic usage of the Sheets API.
      Prints values from a sample spreadsheet.
      """
      creds = None
      # The file token.json 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.json"):
        creds = Credentials.from_authorized_user_file("token.json", SCOPES)
      # 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.json", "w") as token:
          token.write(creds.to_json())
    
      try:
        service = build("sheets", "v4", credentials=creds)
    
        # Call the Sheets API
        sheet = service.spreadsheets()
        result = (
            sheet.values()
            .get(spreadsheetId=SAMPLE_SPREADSHEET_ID, range=SAMPLE_RANGE_NAME)
            .execute()
        )
        values = result.get("values", [])
    
        if not values:
          print("No data found.")
          return
    
        print("Name, Major:")
        for row in values:
          # Print columns A and E, which correspond to indices 0 and 4.
          print(f"{row[0]}, {row[4]}")
      except HttpError as err:
        print(err)
    
    
    if __name__ == "__main__":
      main()

Uruchamianie przykładowego

  1. W katalogu roboczym skompiluj i uruchom przykład:

    python3 quickstart.py
    
  1. Przy pierwszym uruchomieniu przykładu wyświetli się prośba o autoryzację dostępu:
    1. Jeśli wyświetli się prośba, zaloguj się na konto Google. Jeśli w danym momencie korzystasz z wielu kont, wybierz jedno, którego chcesz używać do autoryzacji.
    2. Kliknij Accept (Zaakceptuj).

    Aplikacja w Pythonie uruchamia i wywołuje interfejs API Arkuszy Google.

    Informacje o autoryzacji są przechowywane w systemie plików, więc przy następnym uruchomieniu przykładowego kodu nie pojawi się prośba o autoryzację.

Dalsze kroki