第14回 Spring'16新機能 ~SalesforceとBoxを連携させる~
皆さん。こんにちは。
今週末(2016年2月14日)に待望のSpring'16がリリースされます。
本ブログでは第11回~第13回までSpring'16の新機能についてご紹介してきましたが、今回はリリース直前ということでいつもより気合いの入った記事をお届けします。
※記事中の画面や紹介している機能は執筆時点での情報となります。本記事の内容は、将来的に本機能が提供されることや、記事中で紹介している動作を保証するものではありませんのでご了承ください。
SalesforceとBoxの関係
Salesforceは2013年からBoxとの関係を強めており、現時点ではBox for SalesforceというAppExchangeのパッケージを利用することで、Salesforce上のレコードとBoxで管理しているファイルを連携することが可能となっています。
SalesforceとBox連携の新機能
Spring'16でリリースされた新機能では、SalesforceとBoxを「Files Connect」という機能を利用して連携することが可能となります。
※ただし、Spring'16の時点ではPilotリリースであり、正式リリースはSummer'16以降になると思います。
これにより、Box上で管理しているファイルを直接Salesforceで取り扱うことができるようになり、例えばChatterでBox上のファイルを添付して投稿することも可能となります。
今回は、SalesforceとBoxをFiles Connectで連携する方法についてご紹介します。
(1) Files Connectの有効化
Files Connectは「設定」→「カスタマイズ」→「Salesforce Files」→「設定」→「Files Connect」から行います。
※本設定がメニュー上に存在しない場合は、Chatterが有効になっていない可能性がありますので、Chatterの設定内容をご確認ください。
(2)Files Connectと外部データソースの連携設定
外部データソースをFiles Connectと連携するには、ユーザーに権限を割り当てる必要があります。
権限の付与はプロファイルを変更することによって行うことも可能ですが、今回は権限セットでユーザーに権限を付与します。
権限セットの作成は、「設定」→「ユーザーの管理」→「権限セット」から、「新規」ボタンをクリックして行います。
※今回は「Files Connect Cloud」という名前の権限セットを作成します。
次に、システム管理権限で「Files Connect(クラウド)」を有効化します。
最後に、権限セットをユーザーに割り当てます。
権限セットの割り当ては、「割り当ての管理」ボタンから行います。
(3)Salesforceから接続する外部データソースの設定
Salesforceから接続する外部データソースを指定する場合には、事前に認証プロバイダを設定する必要があります。
認証プロバイダの作成は、「設定」→「セキュリティのコントロール」→「認証プロバイダ」から「新規」ボタンをクリックして行います。
SalesforceではあらかじめGoogleやMicrosoftなどの一般的な認証プロバイダ用の設定テンプレートが用意されていますが、Boxに関してはテンプレートが用意されていないため、Open ID Connect用のテンプレートを使用します。
【認証プロバイダの設定情報】
名前:適当な値でOKです。ここでは「Box」とします。
URL接尾辞:適当な値でOKです。ここでは「Box」とします。
コンシューマ鍵:Boxから取得します。取得方法は後述します。
コンシューマの秘密:Boxから取得します。取得方法は後述します。
承認エンドポイントURL:https://app.box.com/api/oauth2/authorize
トークンエンドポイントURL:https://app.box.com/api/oauth2/token
※その他の設定項目はデフォルト値のままでOKです。
【Boxからの情報取得】
認証プロバイダの設定項目である「コンシューマ鍵」と「コンシューマの秘密」はBoxの管理画面から取得します。
https://developers.box.com/ から 「My Apps」をクリックし、管理画面にログインします。
Boxの管理画面から「アプリケーションの編集」をクリックします。
Salesforce認証プロバイダの「コンシューマ鍵」はBoxアプリケーションのOAuth2パラメータに表示されている「client_id」、「コンシューマ秘密」は「client_secret」となります。
※なお、この画面はこの後すぐに使うので閉じないでOKです。
【認証プロバイダの作成】
Boxの管理画面から取得した情報を設定し、「保存」ボタンをクリックするとSalesforceの認証プロバイダが作成されます。
【Box管理画面でのコールバックURLの設定】
上記の通り、Salesforceの認証プロバイダを作成すると「コールバックURL」が生成されます。
このURLを先ほど開いていたBoxアプリケーションの設定画面の「redirect_uri」に指定します。
これで認証プロバイダの作成と設定は完了です。
(4)外部データソース(Box)の接続設定
続いて、Boxの情報を接続するために「外部データソース」の作成を行います。
外部データソースは「設定」→「開発」→「外部データソース」から「新規外部データソース」ボタンをクリックして行います。
【外部データソースの設定情報】
外部データソース:適当な値でOKです。ここでは「Box」とします。
名前:適当な値でOKです。ここでは「Box」とします。
種別:Files Connect: Box
※種別にFiles Connect: Boxを選択するには、Salesforceの組織がSpring'16以降の環境で、かつFiles Connect for Boxの機能が有効化されている必要があります。
ID種別:ユーザ
認証プロトコル:OAuth 2.0
認証プロバイダ:(3)の手順で作成した認証プロバイダを選択します。
範囲:空欄でOKです。
保存時に認証フローを開始:チェックを入れる
上記内容を設定し「保存」ボタンをクリックすると、Boxとの連携認証画面が表示されます。
この画面で「Boxへのアクセスを許可」をクリックし、シングルサインオン連携が正常に行われると、Salesforceで外部データソースの定義が作成されます。
外部データソース定義の最後の手順として、「検証して同期」ボタンをクリックします。
この画面で、同期を実行するBoxのテーブル定義にチェックを入れて「同期」ボタンをクリックします。
これで外部データソースの定義と、外部オブジェクトの接続が完了しました。
(5)外部オブジェクト、外部データソースへのアクセス権付与
接続された外部オブジェクトは、通常のカスタムオブジェクトなどと同様にアクセス権を付与する必要があります。
今回は(2)で作成した権限セットにアクセス権を付与します。
【外部オブジェクトへのアクセス権付与】
「設定」→「ユーザの管理」→「権限セット」から、(2)で作成した権限セット(Files Connect Cloud)をクリックします。
権限セットの詳細画面が表示されたら「オブジェクト設定」のリンクをクリックし、オブジェクト設定の画面に遷移します。
オブジェクト設定の画面ではアクセス権が変更可能なオブジェクトの一覧が表示されていますので、その中から(4)で作成した「items_Box」をクリックします。
※この時点では「アクセス権限なし」となっています。
「items_Box」オブジェクトの設定画面が表示されたら「編集」ボタンをクリックし、アクセス権の付与を行います。
今回はすべての項目で参照可能にチェックを入れ、「保存」ボタンをクリックします。
【外部データソースへのアクセス権付与】
外部オブジェクトへのアクセス権付与と同様に、権限セットの画面から「外部データソースアクセス」のリンクをクリックします。
外部データソースアクセスの画面が表示されたら、「編集」ボタンをクリックし、外部データソース「Box」を「有効な外部データソース」に指定します。
(6)個人でのBox接続設定
(5)までの設定でシステム全体としての利用設定は完了しましたが、最後は利用者個人で外部システムとの接続設定を行う必要があります。
個人設定は画面右上のユーザー名をクリックし、「私の設定」から行います。
個人設定の画面が表示されたら、左メニューの「個人用」→「外部システムの認証設定」をクリックし、外部システムの認証設定画面で「新規」ボタンをクリックします。
外部システムの認証設定では、下記の項目を設定します。
外部システム定義:外部データソース
外部データソース:Box
ユーザ:自分のユーザ名
認証プロトコル:OAuth 2.0
保存時に認証フローを開始:チェックを入れる
「保存時に認証フローを開始」にチェックを入れて「保存」ボタンをクリックすると、Boxのログイン画面が表示されます。
BoxのログインIDとパスワードを入力し、「承認」ボタンをクリックします。
正しくログインが行われると、再度Boxへのアクセス許可を行っても良いか表示されるので、「Boxへのアクセスを許可」をクリックします。
外部データソースの接続が正しく完了すると、再度Salesforceの画面に戻り、認証状況が「認証済み」となります。
これでBoxの利用準備が整いました。
ChatterでBoxのファイルを使ってみる
冒頭でも記述したとおり今回の設定を行うと、従来のBox for Salesforceとは異なり、Box上のファイルをあたかもSalesforce上のファイルのように扱うことが可能となります。
Chatterのファイルをクリックすると、「Box」というカテゴリがあります。
このカテゴリをクリックすると、Boxのフォルダ一覧、ファイル一覧が表示されます。
また、BoxのファイルをChatterのフィードに投稿する際には「Salesforceからファイルを選択」を指定します。
まとめ
今回はSpring'16の新機能であるSalesforce Files Connect for Boxの設定手順についてご紹介しました。
Boxはビジネス領域での利用が飛躍的に広がっており、Salesforceと連携することでさらに利用シーンが拡大することは間違いありません。
BoxのようにSalesforce単体でカバーできない領域をシームレスに繋ぐことができれば、皆さんのビジネススタイルにも変革をもたらすことができるかも知れませんね。