このブログを検索

2018年12月4日

【Apps調査隊】Gmail API を使ったGmail 委任設定ついて調査せよ③ −OAuth 2.0 Playground を使用したテストの方法−

Apps調査隊の小林です。

Gmail API の拡張により、 G Suite 管理者は Gmail の受任者を追加、確認、削除できるアプリを承認できるようになりました。

前回に引き続き、今回はOAuth 2.0 Playground を使用したテストの方法をご案内いたします。 ※API の新規実装ではありません。

 ーーーーーーーーーーーーーーーーーーーーーーー

【第1回】 Gmail代理と委任について

【第2回】 2)APIを利用するための設定について プロジェクトの作成、Google OAuthの設定、APIの許可方法など

【第3回】 Gmail API を使ったGmail 委任設定: Users.settings.delegatesのOAuth 2.0 Playground を使用したテストの方法

 ーーーーーーーーーーーーーーーーーーーーーーー
< OAuth 2.0 Playground テスト手順 >

 1. Google Cloud Console https://console.cloud.google.com を開きます。 ( デフォルトでは、ホームページに移動し、作成済みプロジェクトがあれば既存プロジェクトを開いた状態 )

2. ページの上部にあるドロップダウンで、プロジェクトを作成する組織を選択します。

3. [ 作成 ] か [ 新しいプロジェクト ] をクリックします 。

4. 表示された [ 新しいプロジェクト ] ウィンドウでプロジェクト名を入力し、必要に応じて請求先アカウントを選択します。




5. 新しいプロジェクトの詳細を入力したら、 [ 作成 ] をクリックすると、新しいプロジェクトのホームページにリダイレクトされます。

6. 画面の左上にある [ ≡ ] ( メニュー ) をクリックし、 [ API とサービス ] をクリックします。




 7. 画面中央上部 [ + API とサービスの有効化 ] をクリックします。



 8. 必要な API の名前 ( 今回は Gmail ) を検索して選択し、 [ 有効にする ] をクリックします。

9. [ API とサービス ] で [ 認証情報 ]をクリックします。

10. [ OAuth 同意画面 ] タブをクリックし、 [ アプリケーション名 ] に名前を追加し、 [ 保存 ] をクリックします。



11. [ 認証情報 ] タブで [ 認証情報の作成 ] をクリックし、 [ OAuth クライアント ID ] をクリックします。 [ OAuth クライアント ID の作成 ] ページにリダイレクトされます。

12. [ Webアプリケーション ] を選択し、名前を追加します。各項目に次のように入力して Enter キーで確定します。

- 承認済みの JavaScript 生成元 : https://developers.google.com
- [ 承認されたリダイレクトURI ] : https://developers.google.com/oauthplayground



13. [ 作成 ] をクリックすると、クライアント ID とクライアント シークレットが表示されます 。※後で使用しますので、上記情報を保存してください。




14. [ 認証情報 ] タブに戻り、 [ 認証情報の作成 ] をクリックし、 [ サービス アカウント キー ] をクリックし、 [ 新しいサービスアカウント ] を選択します。
 アカウント名を追加し、役割から [ Project > オーナー ] を選択し、 [ JSON ] を選択したまま、 [ 作成 ] をクリックします。 ( JSON ファイルがダウンロードされますが、今回は使用しません ) 
※後で使用しますので、サービス アカウント キーのクライアント ID を保存してください。


15. [ 認証情報 ] にリダイレクトとされるので、 [ サービス アカウント キー ] 右側の [ サービスアカウントの管理 ] をクリックします。



16. サービスアカウントのアドレスの右側にある 3点メニューをクリック > [ 編集 ] > [ ドメイン全体の委任を表示 ] > [ G Suite ドメイン全体の委任を有効にする ] をオン > [ 保存 ] の順にクリックします。




17. 新規タブで管理コンソールを開き [ セキュリティ ] > [ 詳細設定 ] > [ APIクライアントアクセスを管理する ] に移動します

- 17.1 手順 13 で保存したクライアント ID を [ クライアント名 ] と [ 1つ以上のAPIスコープ ] で使用するスコープ ( 今回必要なスコープ:https://www.googleapis.com/auth/gmail.settings.sharing ) を入力して、 [ 承認 ] をクリックします。)





17.2 ドメイン全体の委任を有効にするために、手順 14 で保存したクライアントIDを [ クライアント名 ] に入力し、次のスコープを入力します。 https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.group 入力後 [ 承認 ] をクリックします。

※ ご不明な点がある場合は、https://developers.google.com/admin-sdk/directory/v1/guides/delegation をご覧ください。

※ 最後にクライアントとスコープが正しく表示されていることを確認してください。

18. https://developers.google.com/oauthplayground/ にアクセスし、 画面の右上にある [ 設定 ] ( 歯車アイコン ) をクリックします。
- 下記のとおり設定してください。
* OAuth flow: Server-side
* OAuth endpoints: Google
* Authorization endpoint: 変更不要
* Token endpoint: 変更不要
* Access token location: Authorization header w/ Bearer prefix
* Access type: Online
* Force prompt: No
* [ Use your own OAuth credentials ] のチェックをオン
* OAuth Client ID: 手順 13 で保存したクライアント ID
* OAuth Client secret: 手順 13 で保存したクライアント シーレット
* [ Close ] をクリック


19. [ Select & authorize APIs ] で、Input your own scopes にhttps://www.googleapis.com/auth/gmail.settings.sharing を挿入し、 [ Authorize APIs ] をクリックします。



20. [ Exchange authorization code for tokens ] をクリックします。



21. [ HTTP method ] で [ POST ] を選択し、https://www.googleapis.com/gmail/v1/users/userId/settings/delegates と入力します。( [ userId ] に代理人の追加先アカウントを挿入します )



22. [ Enter request body ] をクリックし、以下を挿入します。
{ "delegateEmail": "user@yourdomain", "verificationStatus": "accepted" }

23. [ Close ] をクリックしてから [ Send the request ] をクリックします ( すべて正常に完了した場合、応答コード 200 が表示されます ) 手順は以上です。

<新規実装について>
◆テスト環境にて正常に動作が確認できましたら、新規実装を行います。

新規実装についての注意としましては、
Create Method : 代理人の作成方法 (検証ステータスを受け付けた代理人を、検証メールを送信せずに直接追加します。 )

 ※条件:代理人ユーザーは、委任者ユーザーと同じG Suite組織のメンバーである必要があります。

Gmailは、G Suite組織の各ユーザが持つことができる代理人と委任者の数に制限を課しています。  
制限は組織によって異なりますが、一般に各ユーザーは最大25人の代理人と最大10人の 委任者を持つことができます。
代理人であるユーザーは、電子メールエイリアスではなく、 基の電子メールアドレスで参照する必要があります。

また、新しい代理人が作成されてから、 その委任機能を使用できるようになるまでに1分ほどかかる場合があります。

また、この方法はドメイン全体の権限が委任されているサービスアカウントクライアントでのみ 使用可能です。

◆ API の新規実装をスプレッドシートで行う場合には、新規スプレッドシートを作成 > リソース > Googleの拡張サービスをクリックし、Google API 、V1、 GmailをONにします。




また、リソース >Cloud Platformプロジェクト をクリックし、プロジェクト番号を入力します。GCPのプロジェクト情報よりプロジェクト番号を参照できます。これでスクリプトにプロジェクトを関連付けできます。




<感想>
APIを利用してGmail管理の代理を委任することができますが、結局委任された代理人が「承認」を行わない限り、代理設定が完遂しません。また、この方法はドメイン全体の権限が委任されているサービスアカウントクライアントでのみ 使用可能の為、誤って操作した場合のリスクなども考えられます。委任設定を行う数が多くないのであれば、直接ユーザー間で代理設定を行う方がよいのかもしれません。


2018年11月20日

【Apps調査隊】Gmail API を使ったGmail 委任設定ついて調査せよ② -Google OAuthの設定、APIの許可方法-


Apps調査隊の小林です。

Gmail API の拡張により、 G Suite 管理者は Gmail の受任者を追加、確認、削除できるアプリを承認できるようになりました。

3回に分けて 「Gmail API を使ったGmail 委任設定についてご紹介しておりますが、今回は2回目のAPIを利用するためのGoogle Cloud Platformでの設定をご紹介致します。

 ーーーーーーーーーーーーーーーーーーーーーーー

【第1回】 Gmail代理と委任について

【第2回】 APIを利用するための設定について プロジェクトの作成、Google OAuthの設定、APIの許可方法など

【第3回】 Gmail API を使ったGmail 委任設定: Users.settings.delegatesのOAuth 2.0 Playground を使用したテストの方法

 ーーーーーーーーーーーーーーーーーーーーーーー

管理コンソールでAPIを有効化します。

 管理コンソール > セキュリティ > アクセスを有効にするに☑をいれます。

まずはGCPに登録

Google APIサービスを利用するには、Google Developer Consoleにプロジェクト登録と設定が必要です。

 APIを利用するために以下の設定が必要になります。
・プロジェクトの作成
・APIの許可
・認証情報の作成(OAuthクライアントID)

プロジェクトの作成します

1)GCP Console API ライブラリに移動します。


2)新しいプロジェクトを作成します。

3)プロジェクト名、プロジェクト ID :プロジェクトに付けられたグローバル固有 IDを入力し、組織を選択します。作成するプロジェクトは管理対象ドメイン下に作成されます。ドメイン管理者には、プロジェクトとそのリソースに対する完全なアクセス権が設定されます。

場所(作成するプロジェクトを保管する親組織かフォルダ)を選択します。「参照」より親組織やフォルダを検索できます。


4)プロジェクト作成後、プロジェクトのモニタリングページが表示されます。


 5)スタートガイドの「APIを有効化し、鍵などの認証情報を取得」もしくは、
APIの「➔APIの概要に移動」をクリックし、APIとサービスの管理ページに移動します。


 6)APIとサービスの管理ページ 左メニューの「ライブラリ」をクリックします。



APIの許可


Gmail APIを選択し有効化します。

1)APIとサービスの管理ページ 左メニューの「ライブラリ」をクリックします。 APIライブラリページに移動します。


2)「有効化にする」をクリックします。


3)有効化されたAPIを確認し、目的のAPIが追加されていることを確認します。これでアプリから利用するAPIの設定は完了です。



API の有効化と無効化
https://cloud.google.com/apis/docs/enable-disable-apis?hl=ja&visit_id=636763919881618105-394637646&rd=1

認証情報の作成(OAuthクライアントID)

使用したい API を有効にしてから認証情報を作成します。

【認証の種類】
認証は2種類があります。
・OAuth2.0証明書を使う認証:ユーザーに対して同意画面を表示し、ユーザーに認証を求めます。
・サービスアカウントを使う認証:プログラムからAPIへ問い合わせすることができます。ユーザーに対して同意画面を表示はありません。

アプリケーションがAPIを使用してGoogleユーザーのデータにアクセスする場合、 OAuth2.0証明書を使う認証を行います。

【メモ】
 OAuth2.0証明書とは、
 悪意のあるアプリケーションからAPIを保護する仕組みです。

アプリケーションがOAuth2.0証明書で認証されると、アプリケーションのユーザーに同意画面が表示されます。

 同意画面でユーザーが同意すると、アプリケーションがユーザーデータにアクセスするための認証コードが生成されアプリケーションに送信されます。

アプリケーションは認証コードを使ってアクセストークンを取得し、アクセストークンを使ってユーザーデータにアクセスします。

 API キーの使用については以下をご参考く ださい。
https://cloud.google.com/docs/authentication/api-keys?hl=ja&visit_id=636776940301877220-1500688703&rd=1

クライアントIDの設定を行います。

 Google Drive APIは、アプリからユーザーデータへアクセスすることになるので、「OAuth 2.0によるユーザーデータへのアクセス」に該当します。

1)右側メニューの「認証情報」をクリックします。
「認証情報を作成」をクリックします。



2)OAuthクライアントIDをクリック


※プロジェクト内ではじめてクライアントIDを作成する場合は、同意画面の設定要求が表示されます。


3)「OAuth同意画面」で必須のメールアドレスとサービス名を入力します。

-メールアドレス
-サービス名
は必須項目になります。


その他URLなどは必要に応じて入力してください。 サービスロゴを省略した場合は、アプリアイコンが使用されます。 入力が完了したら「保存」をクリックします。


 5)保存をクリックして完了します。



6)同意画面が保存されると「クライアントID作成画面」に移動します。


7)アプリケーションの種類を選択します。今回は  ウェブアプリケーションを選択します。
次に、アプリケーションの名前、制限事項以下は必要であれば、 ブラウザからのリクエストで使用するJavaScript生成元 URI、 認証後ユーザーがリダイレクトされるアプリケーション内のURI を入力します。(設定は後から編集可能です。)


8)作成後、OAuthクライアントウィンドウに、クライアントIDとクライアントシークレットが表示されます。 これらをコピーして保存します。 「OK」をクリックして完了します。


 9)追加されたクライアントIDは認証情報画面で表示されます。


以上で、Google Cloud Platformでの設定は完了です。
次回は、Gmail API を使ったGmail 委任設定: Users.settings.delegatesのOAuth 2.0 Playground を使用したテストの方法をご案内いたします。

2018年11月6日

【Apps調査隊】Gmail API を使ったGmail 委任設定ついて調査せよ① − Gmail代理と委任について−


Apps調査隊の小林です。

Gmail API の拡張により、 G Suite 管理者は Gmail の受任者を追加、確認、削除できるアプリを承認できるようになりました。

これから3回に分けて 「Gmail API を使ったGmail 委任設定」についてご紹介していきます。

 ーーーーーーーーーーーーーーーーーーーーーーー

【第1回】 Gmail代理と委任について

【第2回】2)APIを利用するための設定についてプロジェクトの作成、Google OAuthの設定、APIの許可方法など

【第3回】 Gmail API を使ったGmail 委任設定: Users.settings.delegatesのOAuth 2.0 Playground を使用したテストの方法

 ーーーーーーーーーーーーーーーーーーーーーーー

【第1回】 Gmail代理と委任について

1回目は「Gmailの代理と委任」についてご紹介致します。
Gmailユーザーは、同じG Suite組織内の別のユーザーにGメールへのアクセスを許可する事ができます。

◆よくある利用シーンとしては以下のようなシーンが想定されます。
・社長や役員秘書がメール管理の代行に利用
・問い合わせメールや受付メール対応のみを行うグループを作成し、グループメールで管理代行


◆委任者と代行者について

アクセスを許可するユーザーを委任者
アクセスを受け取るユーザーを代理人
と呼びます。


 代理人ができる操作
-メールの送信や、委任者宛てに送信されたメールへの返信
-代理人がメールを送信すると、代理人のメールアドレスが表示されます。
-委任者宛てに送信されたメールの閲覧
-委任者宛てに送信されたメールの削除
-委任者の連絡先の管理

代理人ができない操作 -代理での他のユーザーとのチャット
-Gmail パスワードの変更

◆G Suite管理者はエンドユーザーのメールの委任設定の有効化・無効化を行えます。

有効にする場合は、
管理コンソール > G Suite > Gmailの設定 > 左メニューで適用する組織を選択し、メールの委任にチェックをいれます。



◆委任者が行う操作

1)Gmail > 設定 > アカウントタブ > [アカウントへのアクセスを許可] で、[別のアカウントを追加] をクリック


2)追加するユーザーのメールアドレスを入力し、[次のステップ] 次へ [メールを送信してアクセスを許可] をクリックしアクセス許可を行います。


注)追加した相手に、確認を求めるメールが送信されます。相手が確認してから、代理人として表示されるまでに、最長 24 時間かかることがあります。 また、確認のメールは 1 週間後に有効期限が切れます。


 ◆代理人が行う操作

1)申請通知がメールで届きます。 代理人はアクセス権付与申請をリンクをクリックして承認します。

2)確認をクリックし、確定します。

確認完了まで30分ほどかかることがあります。


◆委任者が代理人のメールを確認する方法

委任者が代理人のメールを確認するためには、 代理人の Gmail にて右上のアカウント切り替えアイコンをクリックし、委任者のメールアドレスを選択します。

選択すると別タグに委任者のGメールボックスが表示されます。

 ※ 通常 user01@example.com (代理) のような 形式で表示されます。




◆今回ご案内した内容はエンドユーザー間で行うGmail 委任設定ですが、G Suite管理者がAPIサービスを利用して、Gmail 委任設定を行うことができます。
このAPIサービス:「Users.settings.delegates」のサービス利用するための、初期設定について次回ブログにてご紹介致します。

2018年6月20日

【Apps 調査隊】新Gmailのオフライン機能について調査せよ

App調査隊の小林です。

現在、皆さまは新しいGmailのEAPに参加しており、新しいGmailの機能を利用されているかと思います。
今回はこの新しいGmailに追加された機能:「オフライン機能」についての設定方法、利用手順と注意事項を紹介いたします。

はじめに

来月2018年7月よりこの新しいGmail「正規版(GA)」がリリースされます。

新しいGmailに移行するための導入スケジュール(原文)
https://gsuiteupdates.googleblog.com/2018/06/new-gmail-timeline.html

(要約)
-7月の正規版の発表から約8週間後、まだ新しいGmailに移行されていないユーザーは自動的に新しい環境に移行されるが、さらに4週間保留でき、従来のGmail環境に戻る選択もできる。

-7月の正規版の発表から約12週間後に、新しいGmailに参加していないユーザーは自動的に新しい環境に移行され、従来のGmail環境に戻る選択肢は選べなくなる。

-今回紹介する「オフライン機能」や次回紹介予定の「機密モード(後日開始)」などの管理コンソールで設定した機能は、新しいGmailが正規版に移行する際に、現在のEAPでの設定を優先します。

組織がEAPに参加していない場合、新しいGmailの正規版に移行すると、これらの設定はデフォルトでオフになります。

オフライン機能でできること

オフラインの場合でも、以下の作業が可能です。
・メールの閲覧
・作成
・検索
・削除
・ラベル付け

注意事項

・Chrome ブラウザ(バージョン 61 以降)で新しい Gmail の機能です。従来のGmailでは機能しません。バージョンの確認が必要です。

・オフライン機能を正常に機能させるには、Gmail を 1 つのタブで開いたままにする必要があります。

・Chrome のオフライン Gmail アプリは今後終了するので、利用の場合はできるだけ早くアンインストールして今回有効化される新Gmailのオフライン機能の使用を開始することを推奨しています。

・オフラインで送信したメールは、オフラインでは、「送信トレイ」に保管され、オンラインに状態になると直ぐに「送信」され、「送信済み」に表示される。

・オフラインでメール作成時、宛先候補の予測(オートコンプリート)はできません。

・オフラインでメール作成時、絵文字の挿入、ドライブからの添付はできません。
ローカルに保存されたファイルは添付可能です。

・オフラインでは、メール本文内のロゴ、アイコンなどは、表示されません。
(Gmail オフラインについて、必要最小限の情報をブラウザに保存している為。)

管理者設定

管理者コンソールにて、オフラインGmailの設定を行います。

①Google 管理コンソールにて、
アプリ> G Suite > Gmail > ユーザー設定 > 組織を選択

②Gmail ウェブ オフラインまでスクロール>
[Gmail ウェブ オフラインを有効にする] チェックボックスをオンにします。

③[保存] をクリックします。


※変更がすべてのユーザーに反映されるまでに最長で 1 時間ほどかかる場合があります。

ユーザーの設定

管理者コンソールにて、オフラインGmailが有効になると、ユーザーはその設定が可能になります。

①歯車アイコン「設定」>オンラインタブ>「オフラインメールを有効にする」のチェックボックにチェック。
※デフォルトでは「オフ」の状態
チェックを入れると、詳細が表示されます。



②詳細を設定します。


③オフラインデータをパソコンに保存、もしくは削除のどちらかを選択します。

パソコンに保存する場合>>



パソコンから削除する場合>>



オフラインGmailを利用する

①オフラインにする前に、Chrome で Gmail を開いて、Gmail が読み込まれた状態にする。


②オフラインにして、作業を継続します。
・メールの閲覧、作成、検索、削除、ラベル付けができます。
・メールの下書きも行えます。
※絵文字、ドライブからのアップロード、画像挿入のプロセスは、クラウドベースになっており ネットワーク環境が必須の為、(ローカルのファイル以外に)アップロードはできません。
【Chrome Book】
ファイルの添付や画像の挿入は、上述と同様にクラウドベースになっているため、ネットワーク環境が必要になり添付はできません。

【Widows/Mac】
ローカルのファイルは添付が可能。オンラインにした後は自動的に添付ファイルがアップロードされ、受信側に届く。
※オフライン状態では、アップロードができないため、添付されていないように見受けられる。


【Chrome Book】
添付画像挿入は、上述と同様にクラウドベースになっているため、ネットワーク環境が必要になり添付不可。
【Widows/Mac】
ローカルのファイルは添付が可能。オンラインにした後は自動的に添付ファイルがアップロードされ、受信側に届く。
※オフライン状態では、アップロードができないため、添付されていないように見受けられる。


②詳細の設定を行えます。


オフラインデータの削除方法

オフラインデータを削除したいときは、
①パソコンで、Google Chrome を開きます。
右上のその他アイコン その他 次へ [設定] をクリックします。

②下部にある [詳細設定] をクリックします。

③[プライバシーとセキュリティ] で、[コンテンツの設定] をクリックします。
[Cookie] をクリックします。

④[すべての Cookie とサイトデータ] で、[すべて削除] をクリックします。

⑤[すべてクリア] をクリックして確定します。

まとめ

オフラインでもGmailを使用することができるので、地下鉄などインターネットに接続できない環境でも、これまでに受信したメールを確認したり、下書きや、スターやラベル、アーカイブといった操作も行えます。

ノートパソコンを外で頻繁に利用する方なら有効にしておいてもよいのですが、ポケットwifiなどお持ちの場合は同期の際にかかるデータ通信量の超過に注意が必要となります。

逆に、外出先ではスマートフォンしか使わない方は、デフォルト状態(オフラインGmailを無効にした設定)のままでよいかと思います。