https://github.com/argon-dev22/sample.gmail-api
https://github.com/argon-dev22/sample.gmail-api
gmail-api go oauth2
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/argon-dev22/sample.gmail-api
- Owner: argon-dev22
- Created: 2025-06-25T09:45:39.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-25T15:02:03.000Z (about 1 year ago)
- Last Synced: 2025-06-25T15:33:00.016Z (about 1 year ago)
- Topics: gmail-api, go, oauth2
- Language: Go
- Homepage: https://developers.google.com/workspace/gmail/api/guides?hl=ja
- Size: 10.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gmail API
Google Cloud Gmail API のサンプルコード
## 環境変数
| 名前 | 説明 | 必須 | 備考 |
| -------------------------------- | -------------------------------------------------------------------------- | ---- | ------------ |
| `GOOGLE_CLOUD_CREDENTIAL_PATH` | Google Cloud Gmail API の OAuth 2.0 クライアント ID(JSON ファイル)のパス | ✔ | |
| `GOOGLE_CLOUD_ACCESS_TOKEN_PATH` | Google Cloud Gmail API のアクセストークン(JSON ファイル)のパス | | 自動で生成される(手順を参照) |
| `GOOGLE_CLOUD_PROJECT_NAME` | Google Cloud のプロジェクト名 | | `watch` APIを利用する際に必須 |
| `GOOGLE_CLOUD_WATCH_TOPIC_NAME` | Google Cloud Pub/Sub の Gmail 通知先のトピック名 | | `watch` APIを利用する際に必須 |
---
## 実行方法
### 前提
- Google Cloud Gmail API の OAuth 2.0 クライアント ID(JSON ファイル)を用意すること(https://console.cloud.google.com/apis/credentials)。
- Google Cloud API & Services の OAuth 同意画面からテストユーザーとして自身のメールアドレスを追加していること(https://console.cloud.google.com/auth/audience)。
### 手順
1. `docker-compose.example.yml`をコピーし、`docker-compose.yml`を作成。
2. `docker-compose.yml`に上記の必須環境変数を設定。
3. Google Cloud Gmail API の OAuth 2.0 クライアント ID を`GOOGLE_CLOUD_CREDENTIAL_PATH`で設定したパスに配置。
4. `docker compose up`でアプリケーションを実行。
5. ターミナル出力されるURLを踏むと、OAuth同意画面へ遷移するため、自身のGoogleアカウントで許可し、認可コードをターミナルに貼り付けてEnter。
6. アクセストークン(`access_token.json`)が生成される(次回からはこのアクセストークンを利用するため、`5.`の作業は不要)。
## 参考
- [GCP の Pub/Sub と Gmail APIを使って、メールをトリガーにイベントを実行する](https://qiita.com/Kentaro91011/items/e8f9c5764ff6792c1d98)
- [Go クイックスタート](https://developers.google.com/workspace/gmail/api/quickstart/go?hl=ja)