tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Files ConnectでGoogle Driveと連携してみた

Summer'15からFiles Connectの機能をつかってGoogleドライブのコンテンツに接続できるようになりました。接続方法についてリリースノートに詳しく記載されていたのでDeveloper環境で試してみました。

f:id:tyoshikawa1106:20150731203737p:plain

Google ドライブのコンテンツへの接続

1. 組織で Files Connect を有効にします

まず、Files Connectを有効化します。設定のSalesforce Filesから有効化できます。
f:id:tyoshikawa1106:20150731204006p:plain

2. ユーザが Google ドライブにアクセスできるようにします

ユーザにFiles Connectの使用権限を追加します。プロファイルから一括追加も可能ですが、権限セットで追加することで一部ユーザのみへの有効化が可能になります。
f:id:tyoshikawa1106:20150731204224p:plain


権限セット作成後はユーザへの割り当てを忘れないようにします。
f:id:tyoshikawa1106:20150731204516p:plain

3. Google ドライブの認証プロバイダを作成します

Google開発者コンソール設定

最初にGoogle アカウントのログイン情報を使用して、Google Developers Console にアクセスします。


プロジェクトを作成] をクリックします。
f:id:tyoshikawa1106:20150731204806p:plain


プロジェクト名を入力し、[作成] をクリックします。
f:id:tyoshikawa1106:20150731205050p:plain


プロジェクト名をクリックし、[API と認証] | [API] に移動します。
f:id:tyoshikawa1106:20150731205112p:plain


ドライブ API (Drive API)を有効にします。
f:id:tyoshikawa1106:20150731210408p:plain

f:id:tyoshikawa1106:20150731210358p:plain


リリースノートにはドライブ SDK (Drive SDK)と記載がありましたが、検索しても見つかりませんでした。
f:id:tyoshikawa1106:20150731210507p:plain


[API と認証] | [同意画面] に移動し、有効なメールアドレスと商品名を入力します。
f:id:tyoshikawa1106:20150731210530p:plain


[API と認証] | [ログイン情報] に移動し、[新規クライアント ID を作成] をクリックします。
f:id:tyoshikawa1106:20150731210607p:plain

f:id:tyoshikawa1106:20150731210734p:plain


リダイレクトURLは後で別のURLに編集します。
f:id:tyoshikawa1106:20150731210751p:plain

Salesforce設定

[設定] で、[管理] | [セキュリティのコントロール] | [認証プロバイダ] を選択します。
f:id:tyoshikawa1106:20150731210836p:plain


認証プロバイダに設定情報を入力します。
f:id:tyoshikawa1106:20150731210913p:plain


設定内容は以下のとおりです。
f:id:tyoshikawa1106:20150731211028p:plain


Salesforceの認証プロバイダの設定が終わったら一度Goolge開発者コンソールに戻り、リダイレクトURLを編集します。
f:id:tyoshikawa1106:20150731211100p:plain

f:id:tyoshikawa1106:20150731211213p:plain


4. Google ドライブの外部データソースを定義します。
外部データソースを作成します。
f:id:tyoshikawa1106:20150731211253p:plain


こんな感じです。
f:id:tyoshikawa1106:20150731211325p:plain

5. 外部オブジェクトを作成します。

次のように設定から新規作成できますが、手動で作成する必要はありませんでした。
f:id:tyoshikawa1106:20150731211351p:plain


私の設定の外部システム認証から・・
f:id:tyoshikawa1106:20150731211453p:plain


こんな感じに設定します。
f:id:tyoshikawa1106:20150731211519p:plain


するとここが未承認となっていることを確認できます。
f:id:tyoshikawa1106:20150731211600p:plain


保存時に認証フローを開始にチェックをつけて保存すると・・・
f:id:tyoshikawa1106:20150731211636p:plain


GoogleDriveの認証画面が表示されます。
f:id:tyoshikawa1106:20150731211709p:plain:w300


認証画面で承認を行うと認証済みとメッセージが表示されます。(警告メッセージはちょっとわかりませんでした。)
f:id:tyoshikawa1106:20150731211743p:plain


これで外部データソースからオブジェクト情報を取得できるようになります。
f:id:tyoshikawa1106:20150731211839p:plain

f:id:tyoshikawa1106:20150731211907p:plain


カスタム項目も自動で生成されます。
f:id:tyoshikawa1106:20150731211932p:plain

Googleドライブのファイルにアクセス

外部オブジェクトもタブを作成できるので、カスタムタブを作成してアクセスしてみました。すると次のようなメッセージが・・・。
f:id:tyoshikawa1106:20150731211948p:plain


アクセス権がありません。ということですが、どこの設定ができていないのか...と探してみたところプロファイルに設定がありました。
f:id:tyoshikawa1106:20150731212152p:plain


こんな感じにデータソースを利用できるように有効化します。
f:id:tyoshikawa1106:20150731212224p:plain


これで外部オブジェクトの情報にアクセスできるようになりました。
f:id:tyoshikawa1106:20150731212255p:plain


確認用にカスタムタブを使ってアクセスしてみましたが、実際にはタブをつくる必要はありません。Google DriveのファイルはChatterファイルから簡単にアクセスできるようになります。
f:id:tyoshikawa1106:20150731212350p:plain


このように検索機能も問題なく利用できました。
f:id:tyoshikawa1106:20150731212427p:plain


以上がFiels ConnectをつかったGoogle Driveの連携方法についてです。少し設定が大変ですが、Chatterファイルから標準機能のようにGoogleDriveのファイルにアクセスできるのが便利そうです。

追記

すっかり忘れていたのですが、たしか外部データソースの機能はLightning Connectの機能だったはずなのでDeveloper環境では無料で試せますが、運用組織で利用するときはLigtning Connectの契約が別途必要になると思います。