クイックスタートでは、 Google Workspace API
Google Workspace クイックスタートでは、API クライアント ライブラリを使用して 認証と認可のフローの詳細を確認できます。おすすめの方法 独自のアプリ用のクライアント ライブラリを使用します。このクイックスタートでは、 テストに適したシンプルな認証アプローチ できます。本番環境では、Terraform の IAM 構成の 認証と認可 次の日付より前 アクセス認証情報の選択 選択することもできます
API 呼び出しを行う Python コマンドライン アプリケーションを作成して、 Drive Labels API
目標
- 環境を設定する。
- クライアント ライブラリをインストールする。
- サンプルを設定します。
- サンプルを実行します。
前提条件
- Python 2.6 以降
- pip パッケージ管理ツール
- Google Cloud プロジェクト。
- Google アカウント
環境の設定
このクイックスタートを完了するには、環境を設定します。
API を有効にする
Google API を使用する前に、Google Cloud プロジェクトで有効にする必要があります。 1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Drive Labels API を有効にします。
デスクトップ アプリケーションの認証情報を承認する
エンドユーザーを認証してアプリでユーザーデータにアクセスするには、次のことを行う必要があります。 OAuth 2.0 クライアント ID を作成します。クライアント ID は Google の OAuth サーバーに送信します。アプリが複数のプラットフォームで動作する場合 プラットフォームごとに個別のクライアント ID を作成する必要があります。- Google Cloud コンソールで、メニュー > [API と[サービス] > [認証情報] に移動します。
- [認証情報を作成] > [OAuth クライアント ID] をクリックします。
- [アプリケーションの種類] > [デスクトップ アプリ] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [作成] をクリックします。OAuth クライアントの作成画面が表示され、新しいクライアント ID とクライアント シークレットが表示されます。
- [OK] をクリックします。新しく作成された認証情報が [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 アカウントにまだログインしていない場合は、 ログインするように求められます。複数のアカウントにログインしている場合は 承認に使用するアカウントを 1 つ選択してください。
- [Accept] をクリックします。
認証情報はファイル システムに保存されるため、次回から サンプルコードを実行しても、承認を求められることはありません。
次の宛先にリクエストを行う最初の Python アプリケーションが正常に作成されました。 Drive Labels API を使用できます。