Gmail API v1(Java)を使用して、
Gmailのユーザーの設定情報を取得する方法
についてご紹介します。
取得できるユーザーの設定情報は下記の5つになります。
・言語の設定
・不在通知の設定
・自動転送の設定
・POPの設定
・IMAPの設定
・言語の設定
Gmailメニュー 「設定」 -> 「全般」 -> 「言語」
で設定できる内容です。

・不在通知の設定
Gmailメニュー 「設定」 -> 「全般」 -> 「不在通知」
で設定できる内容です。

・自動転送の設定
Gmailメニュー 「設定」 -> 「メール転送とPOP/IMAP」 -> 「転送」
で設定できる内容です。

・POPの設定
Gmailメニュー 「設定」 -> 「メール転送とPOP/IMAP」 -> 「POPダウンロード」
で設定できる内容です。

・IMAPの設定
Gmailメニュー 「設定」 -> 「メール転送とPOP/IMAP」 -> 「IAPアクセス」
で設定できる内容です。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Gmail API] JavaでGmail APIを使う
を参照ください。
本文中の引数にある「メールアドレス」の指定は、
OAuth 2.0使用の場合は「me」(自身)と指定してください。
「me」は認証されたユーザーを示します。
| No | 目次 | |
|---|---|---|
| 1 | 言語設定を取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 | |
| 2 | 不在通知設定を取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 | |
| 3 | 自動転送設定を取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 | |
| 4 | POP設定を取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 | |
| 5 | IMAP設定を取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 |
1. 言語設定を取得
指定したユーザーの言語設定を取得します。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
1.2. 実行
public static void main(String[] args) throws Exception{
Gmail gmail = getGmail();
Gmail.Users users = gmail.users();
Gmail.Users.Settings settings = users.settings();
Gmail.Users.Settings.GetLanguage language = settings.getLanguage("メールアドレス");
LanguageSettings res = language.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/language
が実行されます。
1.2.2. クエリパラメータ
クエリパラメータはありません。
1.3. レスポンスの内容
LanguageSettings
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getDisplayLanguage | String | 言語コード(RFC3066) |
2. 不在通知設定を取得
指定したユーザーの不在通知設定を取得します。
不在通知設定とは、設定を行うとすぐには返信できないことを
自動的に相手に通知する機能です。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
2.2. 実行
public static void main(String[] args) throws Exception{
Gmail gmail = getGmail();
Gmail.Users users = gmail.users();
Gmail.Users.Settings settings = users.settings();
Gmail.Users.Settings.GetVacation vacation = settings.getVacation("メールアドレス");
VacationSettings res = vacation.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/vacation
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.3. レスポンスの内容
VacationSettings
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getEnableAutoReply | Boolean | Gmail がメッセージに自動的に返信するか |
| getResponseSubject | String | 不在中の返信の件名の前に追加するオプションのテキスト |
| getResponseBodyPlainText | String | プレーンテキスト形式の応答本文 responseBodyHtmlが設定されていれば、responseBodyHtmlが優先 |
| getResponseBodyHtml | String | HTML形式の応答本文 responseBodyPlainTextが設定されていれば、こちらが優先 |
| getRestrictToContacts | Boolean | ユーザーの連絡先リストにない受信者に応答を送信するか |
| getRestrictToDomain | Boolean | ユーザーのドメイン外の受信者に応答を送信するか |
| getStartTime | Long | 自動応答を送信するためのオプションの開始時間(エポックミリ秒) |
| getEndTime | Long | 自動応答の送信のオプションの終了時刻(エポックミリ秒) |
3. 自動転送設定を取得
指定したユーザーの自動転送設定を取得します。
3.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
3.2. 実行
public static void main(String[] args) throws Exception{
Gmail gmail = getGmail();
Gmail.Users users = gmail.users();
Gmail.Users.Settings settings = users.settings();
Gmail.Users.Settings.GetAutoForwarding autoForwarding = settings.getAutoForwarding("メールアドレス");
AutoForwarding res = autoForwarding.execute();
System.out.println(res);
}
3.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/autoForwarding
が実行されます。
3.2.2. クエリパラメータ
クエリパラメータはありません。
3.3. レスポンスの内容
AutoForwarding
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getEnabled | Boolean | すべての受信メールを別のアドレスに自動的に転送するか |
| getEmailAddress | String | すべての受信メッセージが転送される電子メールアドレス |
| getDisposition | Disposition(enum) | メッセージが転送された後に行う処理 |
Disposition
| 定義値 | 内容 |
|---|---|
| dispositionUnspecified | 未指定 |
| leaveInInbox | INBOXにメッセージを残す |
| archive | メッセージをアーカイブする |
| trash | メッセージをゴミ箱に移動する |
| markRead | INBOXにメッセージを残して既読マークをつける |
4. POP設定を取得
指定したユーザーのPOP設定を取得します。
POPとは、ユーザーが利用している電子メールサービスに問い合わせ、
そこからメールや添付ファイルの全てをダウンロードする仕組みです。
4.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
4.2. 実行
public static void main(String[] args) throws Exception{
Gmail gmail = getGmail();
Gmail.Users users = gmail.users();
Gmail.Users.Settings settings = users.settings();
Gmail.Users.Settings.GetPop pop = settings.getPop("メールアドレス");
PopSettings res = pop.execute();
System.out.println(res);
}
4.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/pop
が実行されます。
4.2.2. クエリパラメータ
クエリパラメータはありません。
4.3. レスポンスの内容
PopSettings
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getAccessWindow | AccessWindow(enum) | POP経由でアクセスできるメッセージの範囲 |
| getDisposition | Disposition(enum) | POP経由でメッセージが取得された後に、メッセージに対して実行されるアクション |
AccessWindow
| 定義値 | 内容 |
|---|---|
| accessWindowUnspecified | 未指定 |
| disabled | POP経由でアクセスできるメッセージがない |
| fromNowOn | 過去のある時点以降に受信されたフェッチされていないメッセージが POP経由でアクセス可能 |
| allMail | フェッチされていないすべてのメッセージにPOP経由でアクセス可能 |
5. IMAP設定を取得
指定したユーザーのIMAP設定を取得します。
IMAPとは、メールや添付ファイルがPCやスマホなどの端末には保存されず、
メールサーバー上に保存される仕組みです。
そのため、複数の異なる端末でメールや添付ファイルを確認することができます。
5.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
5.2. 実行
public static void main(String[] args) throws Exception{
Gmail gmail = getGmail();
Gmail.Users users = gmail.users();
Gmail.Users.Settings settings = users.settings();
Gmail.Users.Settings.GetImap imap = settings.getImap("メールアドレス");
ImapSettings res = imap.execute();
System.out.println(res);
}
5.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/imap
が実行されます。
5.2.2. クエリパラメータ
クエリパラメータはありません。
5.3. レスポンスの内容
ImapSettings
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getEnabled | Boolean | IMAPが有効になっているか |
| getAutoExpunge | Boolean | メッセージをすぐに削除するか |
| getExpungeBehavior | ExpungeBehavior(enum) | メッセージに対して実行されるアクション |
| getMaxFolderSize | Integer | IMAPフォルダーに含めることができるメッセージの数に対するオプションの制限数 有効な値は0(制限なし)、1000、2000、5000、10000 |
ExpungeBehavior
| 定義値 | 内容 |
|---|---|
| expungeBehaviorUnspecified | 未指定 |
| archive | 削除済みとしてマークされたメッセージをアーカイブ |
| trash | 削除済みとしてマークされたメッセージをゴミ箱に移動 |
| deleteForever | 削除済みとしてマークされたメッセージを即座に完全に削除 |
おしまい。。