快速入門說明如何設定及執行呼叫 Google Workspace API 的應用程式。本快速入門導覽課程會使用簡化的驗證方法,適合測試環境使用。如要使用正式環境,建議您先瞭解驗證和授權,再選擇適合應用程式的存取憑證。
建立 Python 指令列應用程式,向 Drive Labels API 提出要求。
目標
- 設定環境。
- 安裝用戶端程式庫。
- 設定範例。
- 執行範例。
必要條件
- Python 2.6 以上版本
- pip 套件管理工具
- Google Cloud 專案。
- Google 帳戶。
設定環境
如要完成本快速入門課程,請設定環境。
啟用 API
使用 Google API 前,您必須先在 Google Cloud 專案中啟用這些 API。您可以在單一 Google Cloud 專案中啟用一或多個 API。在 Google Cloud 控制台中啟用 Drive Labels API。
授權電腦版應用程式的憑證
如要驗證使用者,並在應用程式中存取使用者資料,您需要建立一或多個 OAuth 2.0 用戶端 ID。Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。如果您的應用程式是在多個平台中運作,則必須為每個平台建立專屬的用戶端 ID。- 在 Google Cloud 控制台中,依序前往「Menu」>「」 >「Clients」。
- 按一下「Create Client」。
- 依序點選「應用程式類型」>「桌面應用程式」。
- 在「Name」欄位中輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。
- 將下載的 JSON 檔案儲存為
credentials.json
,然後將檔案移至工作目錄。
安裝 Google 用戶端程式庫
安裝 Python 適用的 Google 用戶端程式庫:
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
如需其他安裝選項,請參閱 Python 程式庫的「安裝」一節。
設定範例
- 在工作目錄中建立名為
quickstart.py
的檔案。 在
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()
執行範例
在工作目錄中建構並執行範例:
python quickstart.py
第一次執行範例時,系統會提示您授權存取權:
- 如果尚未登入 Google 帳戶,系統會提示您登入。如果您登入了多個帳戶,請選取要用於授權的帳戶。
- 然後點選 [Accept]。
授權資訊會儲存在檔案系統中,因此下次執行範例程式碼時,系統不會提示您授權。
您已成功建立第一個 Python 應用程式,可向 Drive Labels API 提出要求。