Gmail API v1(Java)を使用して、
送信元エイリアスのS/MIME構成を取得する方法
についてご紹介します。
S/MIMEとは
電子証明書を用いたメールのなりすましや改ざん、盗聴などを防ぐための仕組みです。
セキュリティを高めるために、メールの暗号化と電子署名を行います。
このAPIは、無料版のアカウントでは使用できず、利用するには
有料版の「Google Workplace」でのアカウントが必要になるそうです。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Gmail API] JavaでGmail APIを使う
を参照ください。
本文中の引数にある「メールアドレス」の指定は、
OAuth 2.0使用の場合は「me」(自身)と指定してください。
「me」は認証されたユーザーを示します。
No | 目次 | |
---|---|---|
1 | S/MIME構成一覧を取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 | |
2 | S/MIME構成を取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. S/MIME構成一覧を取得
送信元エイリアスのS/MIME構成の一覧を取得します。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
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.SendAs sendAs = settings.sendAs();
Gmail.Users.Settings.SendAs.SmimeInfo smimeInfo = sendAs.smimeInfo();
Gmail.Users.Settings.SendAs.SmimeInfo.List list = smimeInfo.list("メールアドレス", "送信者メールアドレス");
ListSmimeInfoResponse res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/sendAs/{送信者メールアドレス}/smimeInfo
が実行されます。
1.2.2. クエリパラメータ
クエリパラメータはありません。
1.3. レスポンスの内容
ListSmimeInfoResponse
メソッド | 戻り値 | 説明 |
---|---|---|
getSmimeInfo | List<SmimeInfo> | S/MIMEメール設定リスト |
SmimeInfo
メソッド | 戻り値 | 説明 |
---|---|---|
getId | String | SmimeInfoのID |
getIssuerCn | String | S/MIME証明書の発行元の共通名 |
getIsDefault | Boolean | この設定がユーザーの送信元アドレスのデフォルトであるか |
getExpiration | Long | 証明書の有効期限が切れた時期(エポックミリ秒) |
getEncryptedKeyPassword | String | 暗号化された鍵のパスワード |
getPem | String | PEM 形式のX509で連結された証明書文字列 |
getPkcs12 | String | 1つの秘密鍵/公開鍵ペアと証明書チェーンを含むPKCS12形式 |
2. S/MIME構成を取得
指定した送信元エイリアスのS/MIME構成を取得します。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY
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.SendAs sendAs = settings.sendAs();
Gmail.Users.Settings.SendAs.SmimeInfo smimeInfo = sendAs.smimeInfo();
Gmail.Users.Settings.SendAs.SmimeInfo.Get get = smimeInfo.get("メールアドレス", "送信者メールアドレス","SmimeInfoのID");
SmimeInfo res = get.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/sendAs/{送信者メールアドレス}/smimeInfo/{SmimeInfoのID}
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.3. レスポンスの内容
SmimeInfo
1.3. レスポンスの内容(SmimeInfo)の内容と同じです。
おしまい。。