LoginSignup
1
1

[Gmail API] Javaで送信元エイリアスのS/MIME構成を取得する

Posted at

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)の内容と同じです。



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