Gmail API v1(Java)を使用して、
Gmailの代理人の情報を取得するを生成・削除する方法
についてご紹介します。
代理人とは
ユーザーやグループを代理人に指定してGmailアカウントへのアクセスを許可すると、
代理人は受信トレイで次の操作ができます。
・フィルタ(ルール)でメールを自動的に振り分ける
・メールをアーカイブしてやりとりの記録を残す
・ラベルを使用してメールのステータスを管理する
・送信者として代理人名を表示する、または表示しない
代理人は、受信トレイの共有と同義です。
このAPIは、ドメイン全体の権限を委任されたサービスアカウントを
使用しての発行のみ利用可能です。OAuth 2.0では利用できません。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Gmail API] JavaでGmail APIを使う
を参照ください。
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. 実行
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.Delegates delegates = settings.delegates();
Delegate content = new Delegate();
content.setDelegateEmail("代理人のメールアドレス");
content.setVerificationStatus("accepted");
Gmail.Users.Settings.Delegates.Create create = delegates.create("メールアドレス",content);
Delegate res = create.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/delegates
が実行されます。
1.2.2. クエリパラメータ
クエリパラメータはありません。
1.2.3. リクエストボディ
Gmail.Users.Settings.Delegates.Createのsetメソッドにより、リクエストボディを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setDelegateEmail | String | 代理人のメールアドレス |
setVerificationStatus | VerificationStatus(enum) | このアドレスが検証済みで、アカウントの代理人として機能できるか |
VerificationStatus
定義値 | 説明 |
---|---|
verificationStatusUnspecified | 未設定 |
accepted | アドレスはアカウントの代理人として機能 |
pending | 確認リクエストがそのアドレスに送信されましたが、所有者はまだそれを受け入れていない |
rejected | 確認リクエストがそのアドレスに郵送されましたが、所有者はそれを拒否 |
expired | 確認リクエストがそのアドレスに送信されましたが、確認されないまま期限切れ |
1.3. レスポンスの内容
ListDelegatesResponse
メソッド | 戻り値 | 説明 |
---|---|---|
getDelegateEmail | String | 代理人のメールアドレス |
getVerificationStatus | VerificationStatus(enum) | このアドレスが検証済みで、アカウントの代理人として機能できるか |
2. 代理人情報を削除
代理人情報を削除します。
削除したい代理人メールアドレスを指定します。
1. 代理人情報を生成(ListDelegatesResponse)の
getDelegateEmail()で取得した値を設定します。
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.Delegates delegates = settings.delegates();
Delegate content = new Delegate();
content.setDelegateEmail("代理人のメールアドレス");
content.setVerificationStatus("accepted");
Gmail.Users.Settings.Delegates.Delete delete = delegates.delete("メールアドレス","代理人メールアドレス");
delete.execute();
}
2.2.1. HTTPリクエスト
DELETE: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/delegates
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.2.3. リクエストボディ
リクエストボディはありません。
2.3. レスポンスの内容
レスポンスはありません。
削除に失敗した場合、例外が発生します。
おしまい。。