Python のクイックスタート
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Gmail API にリクエストを行う Python コマンドライン アプリケーションを作成します。
クイックスタートでは、Google Workspace API を呼び出すアプリを設定して実行する方法について説明します。このクイックスタートでは、テスト環境に適した簡略化された認証方法を使用します。本番環境では、アプリに適したアクセス認証情報を選択する前に、認証と認可について学習することをおすすめします。
このクイックスタートでは、Google Workspace の推奨 API クライアント ライブラリを使用して、認証および承認フローの詳細の一部を処理します。
目標
- 環境をセットアップする。
- クライアント ライブラリをインストールする。
- サンプルを設定します。
- サンプルを実行します。
前提条件
このクイックスタートを実行するには、次の前提条件を満たしている必要があります。
- Gmail が有効になっている Google アカウント。
環境の設定
このクイックスタートを完了するには、環境を設定します。
API を有効にする
Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。
このクイックスタートを新しい Google Cloud プロジェクトを使用して完了する場合は、OAuth 同意画面を構成します。Cloud プロジェクトでこの手順をすでに完了している場合は、次のセクションに進んでください。
-
Google Cloud コンソールで、メニュー menu
> Google Auth platform
> [ブランディング] に移動します。
[ブランディング] に移動
-
Google Auth platformをすでに構成している場合は、[ブランディング]、[対象ユーザー]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。[Google Auth platform まだ設定されていません] というメッセージが表示された場合は、[使ってみる] をクリックします。
- [アプリ情報] の [アプリ名] に、アプリの名前を入力します。
-
[ユーザー サポートメール] で、ユーザーが同意について問い合わせる際に使用するサポートのメールアドレスを選択します。
-
[続行] をクリックします。
-
[対象] で [内部] を選択します。
-
[続行] をクリックします。
-
[連絡先情報] で、プロジェクトに対する変更の通知を受け取るメールアドレスを入力します。
-
[続行] をクリックします。
-
[完了] で、Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
-
[続行] をクリックします。
-
[作成] をクリックします。
-
現時点では、スコープの追加はスキップできます。今後、Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更する必要があります。次に、アプリに必要な認可スコープを追加します。詳細については、OAuth 同意画面を構成するの完全なガイドをご覧ください。
デスクトップ アプリケーションの認証情報を承認する
エンドユーザーを認証してアプリ内でユーザーデータにアクセスするには、1 つ以上の OAuth 2.0 クライアント ID を作成する必要があります。クライアント ID は、Google の OAuth サーバーで個々のアプリを識別するために使用します。アプリが複数のプラットフォームで実行される場合は、プラットフォームごとに個別のクライアント ID を作成する必要があります。
-
Google Cloud コンソールで、メニュー menu
> Google Auth platform
> [クライアント] に移動します。
[クライアント] に移動
- [Create Client] をクリックします。
- [アプリケーション タイプ] > [デスクトップ アプリ] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [Create] をクリックします。
新しく作成した認証情報は、[OAuth 2.0 クライアント ID] に表示されます。
- ダウンロードした JSON ファイルを
credentials.json
として保存し、作業ディレクトリに移動します。
Google クライアント ライブラリをインストールする
- 作業ディレクトリに
quickstart.py
という名前のファイルを作成します。
quickstart.py
に次のコードを含めます。
サンプルの実行
作業ディレクトリで、サンプルをビルドして実行します。
python3 quickstart.py
-
サンプルを初めて実行すると、アクセス権限の承認を求めるメッセージが表示されます。
-
Google アカウントにまだログインしていない場合は、プロンプトが表示されたらログインします。複数のアカウントにログインしている場合は、承認に使用するアカウントを 1 つ選択します。
- [Accept] をクリックします。
Python アプリケーションが実行され、Gmail API が呼び出されます。
認可情報はファイル システムに保存されるため、次回サンプルコードを実行するときに認可を求められることはありません。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-29 UTC。
[null,null,["最終更新日 2025-08-29 UTC。"],[],[],null,["Create a Python command-line application that makes requests to the\nGmail API.\n\nQuickstarts explain how to set up and run an app that calls a\nGoogle Workspace API. This quickstart uses a\nsimplified authentication approach that is appropriate for a testing\nenvironment. For a production environment, we recommend learning about\n[authentication and authorization](/workspace/guides/auth-overview)\nbefore\n[choosing the access credentials](/workspace/guides/create-credentials#choose_the_access_credential_that_is_right_for_you)\nthat are appropriate for your app.\n\nThis quickstart uses Google Workspace's recommended API client libraries\nto handle some details of the authentication and authorization flow.\n\nObjectives\n\n- Set up your environment.\n- Install the client library.\n- Set up the sample.\n- Run the sample.\n\nPrerequisites\n\nTo run this quickstart, you need the following prerequisites:\n\n- Python 3.10.7 or greater\n- The [pip](https://pypi.python.org/pypi/pip) package management tool\n- [A Google Cloud project](/workspace/guides/create-project).\n\n\u003cbr /\u003e\n\n- A Google account with Gmail enabled.\n\n\u003cbr /\u003e\n\nSet up your environment\n\nTo complete this quickstart, set up your environment.\n\nEnable the API Before using Google APIs, you need to turn them on in a Google Cloud project. You can turn on one or more APIs in a single Google Cloud project.\n\n- In the Google Cloud console, enable the Gmail API.\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=gmail.googleapis.com)\n\nConfigure the OAuth consent screen\n\nIf you're using a new Google Cloud project to complete this quickstart, configure\nthe OAuth consent screen. If you've already\ncompleted this step for your Cloud project, skip to the next section.\n\n1. In the Google Cloud console, go to Menu menu \\\u003e **Google Auth platform** \\\u003e **Branding** .\n\n [Go to Branding](https://console.cloud.google.com/auth/branding)\n2. If you have already configured the Google Auth platform, you can configure the following OAuth Consent Screen settings in [Branding](https://console.cloud.google.com/auth/branding), [Audience](https://console.cloud.google.com/auth/audience), and [Data Access](https://console.cloud.google.com/auth/scopes). If you see a message that says **Google Auth platform not configured yet** , click **Get Started**:\n 1. Under **App Information** , in **App name**, enter a name for the app.\n 2. In **User support email**, choose a support email address where users can contact you if they have questions about their consent.\n 3. Click **Next**.\n 4. Under **Audience** , select **Internal**.\n 5. Click **Next**.\n 6. Under **Contact Information** , enter an **Email address** where you can be notified about any changes to your project.\n 7. Click **Next**.\n 8. Under **Finish** , review the [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy) and if you agree, select **I agree to the Google API Services: User Data Policy**.\n 9. Click **Continue**.\n 10. Click **Create**.\n3. For now, you can skip adding scopes. In the future, when you create an app for use outside of your Google Workspace organization, you must change the **User type** to **External** . Then add the authorization scopes that your app requires. To learn more, see the full [Configure OAuth consent](/workspace/guides/configure-oauth-consent) guide.\n\nAuthorize credentials for a desktop application To authenticate end users and access user data in your app, you need to create one or more OAuth 2.0 Client IDs. A client ID is used to identify a single app to Google's OAuth servers. If your app runs on multiple platforms, you must create a separate client ID for each platform.\n\n1. In the Google Cloud console, go to Menu menu \\\u003e **Google Auth platform** \\\u003e **Clients** .\n\n [Go to Clients](https://console.cloud.google.com/auth/clients)\n2. Click **Create Client**.\n3. Click **Application type** \\\u003e **Desktop app**.\n4. In the **Name** field, type a name for the credential. This name is only shown in the Google Cloud console.\n5. Click **Create** .\n\n\n The newly created credential appears under \"OAuth 2.0 Client IDs.\"\n6. Save the downloaded JSON file as `credentials.json`, and move the file to your working directory.\n\nInstall the Google client library\n\n- Install the Google client library for Python:\n\n pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib\n\nConfigure the sample\n\n1. In your working directory, create a file named `quickstart.py`.\n2. Include the following code in `quickstart.py`:\n\n\n gmail/quickstart/quickstart.py \n [View on GitHub](https://github.com/googleworkspace/python-samples/blob/main/gmail/quickstart/quickstart.py) \n\n ```python\n import os.path\n\n from google.auth.transport.requests import Request\n from google.oauth2.credentials import Credentials\n from google_auth_oauthlib.flow import InstalledAppFlow\n from googleapiclient.discovery import build\n from googleapiclient.errors import HttpError\n\n # If modifying these scopes, delete the file token.json.\n SCOPES = [\"https://www.googleapis.com/auth/gmail.readonly\"]\n\n\n def main():\n \"\"\"Shows basic usage of the Gmail API.\n Lists the user's Gmail labels.\n \"\"\"\n creds = None\n # The file token.json stores the user's access and refresh tokens, and is\n # created automatically when the authorization flow completes for the first\n # time.\n if os.path.exists(\"token.json\"):\n creds = Credentials.from_authorized_user_file(\"token.json\", SCOPES)\n # If there are no (valid) credentials available, let the user log in.\n if not creds or not creds.valid:\n if creds and creds.expired and creds.refresh_token:\n creds.refresh(Request())\n else:\n flow = InstalledAppFlow.from_client_secrets_file(\n \"credentials.json\", SCOPES\n )\n creds = flow.run_local_server(port=0)\n # Save the credentials for the next run\n with open(\"token.json\", \"w\") as token:\n token.write(creds.to_json())\n\n try:\n # Call the Gmail API\n service = build(\"gmail\", \"v1\", credentials=creds)\n results = service.users().labels().list(userId=\"me\").execute()\n labels = results.get(\"labels\", [])\n\n if not labels:\n print(\"No labels found.\")\n return\n print(\"Labels:\")\n for label in labels:\n print(label[\"name\"])\n\n except HttpError as error:\n # TODO(developer) - Handle errors from gmail API.\n print(f\"An error occurred: {error}\")\n\n\n if __name__ == \"__main__\":\n main()\n ```\n\n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\nRun the sample\n\n1. In your working directory, build and run the sample:\n\n python3 quickstart.py\n\n\u003c!-- --\u003e\n\n2. The first time you run the sample, it prompts you to authorize access:\n 1. If you're not already signed in to your Google Account, sign in when prompted. If you're signed in to multiple accounts, select one account to use for authorization.\n 2. Click **Accept**.\n\n\n Your Python application runs and calls the Gmail API.\n\n\n Authorization information is stored in the file system, so the next time you run the sample\n code, you aren't prompted for authorization.\n\nNext steps\n\n- [Try the Google Workspace APIs in the APIs explorer](/workspace/explore)\n\n\u003c!-- --\u003e\n\n- [Troubleshoot authentication and authorization issues](/workspace/gmail/api/troubleshoot-authentication-authorization)\n- [Gmail API reference documentation](/workspace/gmail/api/reference/rest)\n- [Google APIs Client for Python documentation](/api-client-library/python)\n- [Gmail API PyDoc documentation](https://developers.google.com/resources/api-libraries/documentation/gmail/v1/python/latest/index%2Ehtml)"]]