LoginSignup
0
0

[Gmail API] Javaで転送アドレスを取得する

Posted at

Gmail API v1(Java)を使用して、
Gmailのメールボックス内の転送アドレスを取得する方法
についてご紹介します。

転送アドレスとは
受信したメールを設定したメールアドレスへそのまま送る機能です。
Gmailでは、「設定」 -> 「メール転送とPOP/IMAP」 -> 「転送先アドレスを追加」
から設定できます。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Gmail API] JavaでGmail APIを使う
を参照ください。

本文中の引数にある「メールアドレス」の指定は、
OAuth 2.0使用の場合は「me」(自身)と指定してください。
「me」は認証されたユーザーを示します。

No 目次
1 転送アドレス一覧を取得
1 スコープ
2 実行
3 レスポンスの内容
2 転送アドレスを取得
1 スコープ
2 実行
3 レスポンスの内容

1. 転送アドレス一覧を取得

メールボックス内の転送アドレス一覧を取得します。

一覧の取得では転送アドレスの詳細内容までは取得できません。
詳細内容を取得したい場合は2. 転送アドレスを取得を参照ください。

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. 実行

転送アドレスがない場合はレスポンスでNULLが返ります。

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.ForwardingAddresses forwardingAddresses = settings.forwardingAddresses();
    Gmail.Users.Settings.ForwardingAddresses.List list = forwardingAddresses.list("メールアドレス");

    ListForwardingAddressesResponse res = list.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/forwardingAddresses
が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.3. レスポンスの内容

ListForwardingAddressesResponse

メソッド 戻り値 説明
getForwardingAddresses List<ForwardingAddress> 転送に使用できるアドレスのリスト

ForwardingAddress

メソッド 戻り値 説明
getForwardingEmail String 転送メールアドレス
getVerificationStatus VerificationStatus(enum このアドレスが検証されており、転送に使用できるかどうか

VerificationStatus

定義値 内容
verificationStatusUnspecified 未設定
accepted このアドレスは転送に使用する準備済み
pending 住所は所有者による確認待ち

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.ForwardingAddresses forwardingAddresses = settings.forwardingAddresses();
    Gmail.Users.Settings.ForwardingAddresses.Get get = forwardingAddresses.get("メールアドレス","転送メールアドレス");
    
    ForwardingAddress res = get.execute();
    System.out.println(res);
}

2.2.1. HTTPリクエスト

GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/forwardingAddresses/{転送メールアドレス}
が実行されます。

2.2.2. クエリパラメータ

クエリパラメータはありません。

2.3. レスポンスの内容

ForwardingAddress

1.3. レスポンスの内容(ForwardingAddress)の内容と同じです。



おしまい。。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0