LoginSignup
1
1

[Gmail API] JavaでGmailクライアントサイド暗号化(CSE)されたIDを取得する

Posted at

Gmail API v1(Java)を使用して、
Gmailクライアントサイド暗号化(CSE)されたIDを取得する方法
についてご紹介します。

Gmailクライアントサイド暗号化とは
メールデータをGoogleクラウドベースストレージに転送または保存する前に
ブラウザ内で暗号化を行う仕組みです。
送信先の相手が受信するまで、メールデータは保護されます。
これにより機密データや規制対象データのコンテンツの機密性保持を強化できます。

このAPIは、ドメイン全体の権限を委任されたサービスアカウントを
使用しての発行のみ利用可能です。OAuth 2.0では利用できません。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Gmail API] JavaでGmail APIを使う
を参照ください。

No 目次
1 CSE構成リストを取得
1 スコープ
2 実行
3 レスポンスの内容
2 CSE構成を取得
1 スコープ
2 実行
3 レスポンスの内容

1. CSE構成リストを取得

認証されたユーザーのクライアント側で暗号化されたIDのリストを取得します。

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.Cse.Identities identities = settings.cse().identities();
	Gmail.Users.Settings.Cse.Identities.List list = identities.list("メールアドレス");

	ListCseIdentitiesResponse res = list.execute();
	System.out.println(res);
}

1.2.1. HTTPリクエスト

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

1.2.2. クエリパラメータ

Gmail.Users.Settings.Cse.Identities.Listのsetメソッドにより、クエリパラメータを追加できます。

メソッド 引数 説明
setPageToken String IDのどのページを返すかを示すページネーショントークン
setPageSize Integer 返されるIDの数

1.3. レスポンスの内容

ListCseIdentitiesResponse

メソッド 戻り値 説明
getNextPageToken String 次のページを取得するたのページトークン
getCseIdentities List<CseIdentity> ユーザーに対して構成されたCSE IDのリスト

CseIdentity

メソッド 戻り値 説明
getEmailAddress String CSEメールアドレス
getPrimaryKeyPairId String キーペアID
getSignAndEncryptKeyPairs SignAndEncryptKeyPairs 署名と暗号化に異なるキーペアを使用するCSE IDの構成

SignAndEncryptKeyPairs

メソッド 戻り値 説明
getSigningKeyPairId String 送信メールに署名するのID
getEncryptionKeyPairId String CseKeyPair署名付き送信メールを暗号化するID

2. CSE構成を取得

クライアント側の暗号化ID構成を取得します。

取得したい構成のCSEメールアドレスを指定します。
1. CSE構成リストを取得(CseIdentity)
getEmailAddress()で取得した値を設定します。

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.Cse.Identities identities = settings.cse().identities();
	Gmail.Users.Settings.Cse.Identities.Get get = identities.get("メールアドレス","CSEメールアドレス");

	CseIdentity res = get.execute();
	System.out.println(res);
}

2.2.1. HTTPリクエスト

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

2.2.2. クエリパラメータ

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

2.3. レスポンスの内容

CseIdentity

1.3. レスポンスの内容(CseIdentity)と同じです。



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