Krótkie wprowadzenie do Pythona

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

Krótkie wprowadzenia do Google Workspace wykorzystują biblioteki klienta API do obsługi niektórych szczegółów procesu uwierzytelniania i autoryzacji. Zalecamy używanie bibliotek klienta dla własnych aplikacji. Przed uruchomieniem przykładowej aplikacji każde krótkie wprowadzenie wymaga włączenia uwierzytelniania i autoryzacji. Jeśli nie wiesz, jak uwierzytelnić i autoryzować interfejsy API Google Workspace, przeczytaj artykuł Omówienie uwierzytelniania i autoryzacji.

Utwórz aplikację w języku Python, która wysyła żądania do interfejsu Google Drive API.

Cele

  • skonfigurować środowisko,
  • Zainstaluj bibliotekę klienta.
  • Skonfiguruj przykład.
  • uruchomić przykład.

Wymagania wstępne

Aby uruchomić to krótkie wprowadzenie, musisz mieć te warunki wstępne:

  • konto Google z włączonym Dyskiem Google,

Konfigurowanie środowiska

Aby dokończyć ten krótki przewodnik, 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ć jeden lub więcej interfejsów API.

Autoryzowanie danych logowania do aplikacji komputerowej

Aby uwierzytelnić się jako użytkownik końcowy i uzyskać dostęp do danych użytkownika w aplikacji, musisz utworzyć co najmniej 1 identyfikator klienta OAuth 2.0. Identyfikator klienta służy do identyfikowania jednej aplikacji na serwerach OAuth Google. Jeśli aplikacja działa na wielu platformach, musisz utworzyć oddzielny 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 klienta 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
    

Skonfiguruj przykład

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

    dysk/quickstart/quickstart.py
    from __future__ import print_function
    
    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/drive.metadata.readonly']
    
    
    def main():
        """Shows basic usage of the Drive v3 API.
        Prints the names and ids of the first 10 files the user has access to.
        """
        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('drive', 'v3', credentials=creds)
    
            # Call the Drive v3 API
            results = service.files().list(
                pageSize=10, fields="nextPageToken, files(id, name)").execute()
            items = results.get('files', [])
    
            if not items:
                print('No files found.')
                return
            print('Files:')
            for item in items:
                print(u'{0} ({1})'.format(item['name'], item['id']))
        except HttpError as error:
            # TODO(developer) - Handle errors from drive API.
            print(f'An error occurred: {error}')
    
    
    if __name__ == '__main__':
        main()

Uruchom przykład

  1. W katalogu roboczym utwórz i uruchom przykład:

    python3 quickstart.py
    
  2. Przy pierwszym uruchomieniu próbki pojawi się prośba o autoryzację dostępu:

    1. Jeśli nie zalogowano się na konto Google, pojawi się prośba o zalogowanie. Jeśli logujesz się na wiele kont, wybierz to, którego chcesz użyć do autoryzacji.
    2. Kliknij Accept (Zaakceptuj).

    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ę.

Udało Ci się utworzyć pierwszą aplikację w Pythonie, która wysyła żądania do interfejsu Google Drive API.

Dalsze kroki