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 | 削除済みとしてマークされたメッセージを即座に完全に削除 |
おしまい。。