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. レスポンスの内容
レスポンスはありません。
削除に失敗した場合、例外が発生します。
おしまい。。