LoginSignup
1
1

[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. 転送アドレスを作成

メールボックス内の転送アドレスを作成します。

1.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

GmailScopes.GMAIL_SETTINGS_SHARING

⧉[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();
    ForwardingAddress content = new ForwardingAddress();
    Gmail.Users.Settings.ForwardingAddresses.Create create = forwardingAddresses.create("メールアドレス",content);

    ForwardingAddress res = create.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

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

1.2.2. クエリパラメータ

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

1.2.3. リクエストボディ

ForwardingAddressのsetメソッドにより、リクエストボディを追加できます。

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

1.3. レスポンスの内容

ForwardingAddress

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

VerificationStatus

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

2. 転送アドレスを削除

転送アドレスを削除します。

2.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

GmailScopes.GMAIL_SETTINGS_SHARING

⧉[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.Delete delete = forwardingAddresses.delete("メールアドレス","転送メールアドレス");

    delete.execute();
}

2.2.1. HTTPリクエスト

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

2.2.2. クエリパラメータ

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

2.2.3. リクエストボディ

リクエストボディはありません。

2.3. レスポンスの内容

レスポンスはありません。
削除に失敗した場合、例外が発生します。



おしまい。。
1
1
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
1
1