■はじめに
私の前回のブログで「「Dropbox for Salesforce」を設定して触ってみた。」「Salesforce Files ConnectでOne Driveとファイル共有してみた」と題して、外部サービスと連携したファイル共有について設定してみました。
今回のブログでは、Google Driveに接続してファイルを共有できるようにしてみたいと思います。
※このブログに記した内容は私の分かる範囲で触ってみた内容であり、正確でない可能性がありますので、ご承知ください。
■必要なライセンス
・Salesforce
ヘルプを見ると、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Editionとなっています。
今回の評価にはDeveloper Editionを利用しました。
・Google Drive
基本は「Google Apps for Work」というビジネス向けのサービスが対象のようですが、今回は個人向けのGoogleサービスのアカウントを使用しました。
■設定
ここでは、SalesforceとGoogleサービスのアカウントは取得済みと想定して進めます。
■1. Files Connect の設定
メニューの[設定]-[アプリケーションの設定]-[カスタマイズ]-[Salesforce Files]-[設定]-[Files Connect 設定]で、設定画面を表示します。
「編集」ボタンをクリックして、[Files Connect の有効化] をチェックして有効化すると、[ファイル共有] 、[外部オブジェクト検索レイアウトを使用]が設定できるようになります。
[ファイル共有]については、「コピー」と「参照」があり、GoogleDriveに権限が無いユーザにもファイルを共有した場合に「コピー」を選ぶと、Salesforceにファイルがコピーされて共有されます。
「参照」はGoogleDriveに権限が無いと共有されません。
■2. GoogleDriveへのユーザ及びシステム管理のアクセス許可設定
有効化が済んだら、次はSalesforceユーザとシステム管理者へのGoogleDriveへのアクセス権限を許可します。
権限の設定はプロファイルと権限セットで設定できます。権限セットで設定することで複数ユーザへの権限付与が容易になります。
今回は権限セットを作成して設定してみました。「Files Connect(クラウド)」にチェックします。
権限セットの作成後は、「割当の管理」ボタンから作成した権限セットをユーザに付与します。
■3. GoogleDriveの認証プロバイダを作成します。
認証プロバイダの作成では大きく3つの手順があります。
3-1. Google開発者コンソールでのプロジェクトの作成
GoogleDriveのアカウントで、https://console.developers.google.com/project にログインします。
・右上の選択リストから「プロジェクトの作成」を選択します。
・プロジェクト名を入力し、「作成」ボタンをクリックします。
・ダッシュボード画面より、「GoogleAPIを利用する」をクリックします。
・APIManager画面より、「Drive API」をクリックします。
・「有効にする」ボタンでGoogle Drive APIを有効化します。
・左リストの認証情報をクリックし、「OAuth同意画面」リンクをクリックしたら、メールアドレスとサービス名(任意)を入力して、保存します。
・左リストの認証情報をクリックし、「認証情報」リンクをクリックしたら、「OAuthクライアントID」をクリックします。
・クライアントID作成画面で、アプリケーションの種類は「ウェブアプリケーション」、名前には任意の名前を入力し、「作成」ボタンをクリックします。
・表示された画面の「クライアントID」と「クライアントシークレット」の値をコピーしておきます。後ほどの手順で使用します。
3-2. Salesforceで認証プロバイダのを作成
次の手順の外部データソースを定義に必要な為、GoogleDriveの認証プロバイダを作成します。
・「設定」から「認証プロバイダ」を選択し、表示された設定画面の「新規」ボタンで作成します。
名前:Salesforce に表示する名前を入力します。
URL 接尾辞:URLパスの最後に付けるサフィックスを入力します。
コンシューマ鍵:Googleプロジェクトの作成時にコピーしたクライアント ID を入力します。
コンシューマの秘密:Googleプロジェクトの作成時にコピーしたクライアントシークレットを入力します。
承認エンドポイントURL:「https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force」と入力します。
トークンエンドポイントURL:「https://accounts.google.com/o/oauth2/token」と入力します。
デフォルトの範囲:「openid email profile https://www.googleapis.com/auth/drive」と入力します。
・「保存」ボタンで保存します。表示された詳細画面の下部の「コールバック URL」をメモ等にコピーします。この後の手順で利用します。
3-3. Google 開発者コンソールでのプロジェクトの編集
・Google 開発者コンソールで「認証情報」を選択後、3-1で作成したOAuth 2.0クライアントIDを開き、「承認済みのリダイレクトURI」欄に3-2で保存した「コールバック URL」を入力し、保存します。
■4. 組織の外部データソースを定義します。
Salesforceの「設定」の「外部データソース」から新規外部データソースを作成します。
「外部データソース」「名前」には適当な値を入力します。
「種別」は"Files Connect: Google ドライブ"を選択します。
「認証プロバイダ」には3-2で作成した認証プロバイダを選択し、「保存」ボタンで保存します。
■5.外部データをグローバル検索に含める。
5-1. 外部データソースからの外部オブジェクトの作成
・[外部データソース] から、データソース名をクリックして詳細ページ表示後、「検証して同期」ボタンを押下します。
・表示されたテーブル名を選択し、「同期」 を押下してソース全体に対応付ける外部オブジェクトを作成します。
5-2. 作成されたオブジェクトをリリース
[外部オブジェクト]から、外部オブジェクトの「編集」を押下から「リリース済み」をクリックし「保存」 します。
5-3. 外部オブジェクト項目へのアクセス権のユーザへの付与
[権限セット]から、2.で作成した権限セットを選び、「オブジェクト設定」を行います。
5-4.有効な外部データソースアクセスの設定
プロファイルの「有効な外部データソースアクセス」で、該当の外部データソースを指定して保存します。
■6. 上記までの設定を行ったら、すべて完了です。
■7. 共有の確認
設定がすべて終わりましたので、Salesforce画面上にGoogleDrive上のファイルが共有されるか確認してみます。
・Chatterでの共有
Chatterの画面を開くとFileのリンクの下にGoogleDriveへののリンクが出来ており、クリックでGoogleDriveに作成されたファイルが表示されました。
・カスタムタブでの共有
カスタムタブを作成し、表示してみました。ちゃんとGoogleDrive上のファイルが表示されています。
・グローバル検索からの検索
グローバル検索からは「すべての検索」ボタンの押下で検索できました。
■最後に
前回のOneDriveと同様に、ファイルが表示されるまでには設定項目が沢山ありましたが、今回は結構すんなり設定できました。
また、すでにGoogleサービスを利用しファイル共有されている企業では、一度設定してしまえばそのままSalesforceから容易にアクセスできます。
「Google Apps for Work」は、利用できるストレージも多いのと、導入しやすい価格になっているようですので、Salesforceでファイルストレージ容量でお悩みの企業は一考の価値がありそうです。
-------- イベント情報 --------
7/22(金)テラスカイのプライベートイベント『TerraSky Day 2016』を開催します!
クラウドの未来をテーマにしたテクノロジーセッションも豊富にラインナップしていますので、
ぜひご参加ください。 詳しくはこちら!