Python 快速入門導覽課程

快速入門導覽課程說明如何設定及執行呼叫 Google Workspace API 的應用程式。

Google Workspace 快速入門導覽課程會使用 API 用戶端程式庫,處理驗證和授權流程的部分細節。建議您為自己的應用程式採用用戶端程式庫。本快速入門導覽課程採用適用於測試環境的簡易驗證方法。如果是實際工作環境,建議您先瞭解驗證與授權,再選擇適合應用程式的存取憑證

建立 Python 指令列應用程式,向 Drive Labels API 提出要求。

目標

  • 設定環境。
  • 安裝用戶端程式庫。
  • 設定範例。
  • 執行範例。

先備知識

  • Google 帳戶。

設定環境

如要完成本快速入門導覽課程,請設定環境。

啟用 API

使用 Google API 前,您必須先在 Google Cloud 專案中啟用 API。您可以在單一 Google Cloud 專案中啟用一或多個 API。
  • 在 Google Cloud 控制台中,啟用 Drive Labels API。

    啟用 API

授權電腦版應用程式憑證

如要驗證使用者及存取應用程式中的使用者資料,您必須建立一或多個 OAuth 2.0 用戶端 ID。用戶端 ID 可用於向 Google 的 OAuth 伺服器識別單一應用程式。如果您的應用程式在多個平台上執行,就必須為每個平台分別建立用戶端 ID。
  1. 在 Google Cloud 控制台中,依序前往「選單」圖示 >「API 和服務」>「憑證」>

    前往「憑證」

  2. 依序點選「建立憑證」>「OAuth 用戶端 ID」
  3. 依序按一下「應用程式類型」>「電腦版應用程式」
  4. 在「名稱」欄位中輸入憑證的名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 按一下「建立」,系統隨即會顯示已建立 OAuth 用戶端的畫面,並顯示您的新用戶端 ID 和用戶端密鑰。
  6. 按一下「OK」(確定)。新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」之下。
  7. 將下載的 JSON 檔案儲存為 credentials.json,然後將檔案移至工作目錄。

安裝 Google 用戶端程式庫

  • 安裝 Python 適用的 Google 用戶端程式庫:

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

如需瞭解其他安裝選項,請參閱 Python 程式庫的安裝章節

設定範例

  1. 在工作目錄中,建立名為 quickstart.py 的檔案。
  2. 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/drive.labels.readonly']
    
    def main():
      """Shows basic usage of the Drive Labels API.
    
        Prints the first page of the customer's Labels.
      """
      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('drivelabels', 'v2', credentials=creds)
        response = service.labels().list(
            view='LABEL_VIEW_FULL').execute()
        labels = response['labels']
    
        if not labels:
          print('No Labels')
        else:
          for label in labels:
            name = label['name']
            title = label['properties']['title']
            print(u'{0}:\t{1}'.format(name, title))
      except HttpError as error:
        # TODO (developer) - Handle errors from Labels API.
        print(f'An error occurred: {error}')
    
    if __name__ == '__main__':
      main()
    

執行範例

  1. 在工作目錄中建構並執行範例:

    python quickstart.py
    
  2. 第一次執行範例時,系統會提示您授予存取權:

    1. 如果尚未登入 Google 帳戶,系統會提示您登入。如果您登入多個帳戶,請選取一個要用於授權的帳戶。
    2. 然後點選 [Accept]

    授權資訊會儲存在檔案系統中,因此下次執行程式碼範例時,系統不會提示授權。

您已成功建立第一個 Python 應用程式,會向 Drive Labels API 提出要求。

後續步驟