はじめに
SalesforceのFiles Connectを使うと、Google Drive上のファイルをSalesforceから参照・共有・検索・ダウンロードできます。ただし編集やアップロードは不可です。
本記事ではFiles Connectの機能と設定手順を整理し、さらにFiles Connectでは出来ないことを代替するAppExchange「Folders」についても紹介します。
Files Connect × Google Drive連携で出来ること
Google Driveのファイルを参照
Google Drive上のファイルを参照可能です。Google Drive連携を行うと以下の画像のようにファイルに「Google Drive」が表示されるようになります。

Google Driveのファイルを共有
Google Drive上のファイルを以下2パターンで共有可能です。Files Connect設定でどちらを選択するか設定します。
- コピー:Google Drive上のファイルのコピーがSalesforceに保存される
- 参照:Google Drive上に保存されている外部ファイルをSalesforceから参照する
注意事項として「コピー」を選択すると、Google Drive上のファイルをSalesforceのレコードに紐づけた際に、紐付け時点でのファイルがGoogle DriveからSalesforceにコピー作成されるため、その後のGoogle Driveでのファイル更新はSalesforceには反映されず、Salesforce上でバージョン管理をする必要があります。

Google Driveのファイルをダウンロード
Google Drive上のファイルをローカルフォルダにダウンロード可能です。
参考情報:Files Connect 外部ファイルへのアクセスおよび共有(Salesforce公式記事)
Google Driveのファイルをグローバル検索
外部データソースのグローバル検索を有効化すると、レコードやレポート、Salesforce上に格納されているファイルなどと一緒にGoogle Drive上のファイルもグローバル検索可能となります。
検索結果としては「外部の結果」として表示されます。
※画像の「Items_Google_Drive」は任意で命名した外部オブジェクト名です

Files Connect × Google Drive連携で出来ないこと
権限の自動同期
Salesforceユーザーに対してGoogle Drive上のファイルを共有しただけでは、そのファイルにアクセスすることはできません。
Google Drive上のファイルへのアクセス権は、Google Driveでの権限設定が優先されるため、Google Driveで権限が付与されていないファイルに対しては、Salesforceで権限を付与されていてもアクセス不可となります。
Salesforceからのファイル編集
SalesforceからGoogle Drive上のファイルを編集することはできません。編集する場合は必ずGoogle Driveから編集する必要があります。
Salesforceからのファイルアップロード
SalesforceからGoogle Driveに対してファイルをアップロードをすることはできません。
Salesforceからのフォルダ作成・編集・移動
SalesforceからGoogle Driveにフォルダを作成・編集したり、Google Drive上のファイルをフォルダ移動させることはできません。
AppExchange Folders有償版なら実現できる
ただし弊社が提供しているAppExchange「Folders」の有償アドオン機能では、上記のSalesforceからのファイルアップロードとフォルダ作成・編集・移動が実現可能です。
AppExchange「Folders」のインストールはこちら
※30日間のお試し期間&支払い情報の入力なしでトライアル可能!
動画や別記事でもFoldersで出来ることについて紹介しておりますので、ぜひご覧ください。
設定手順
続いて、Files Connectを用いたGoogle Drive連携の設定手順を紹介します。
- Google で「プロジェクト」を作成
- Google で「認証情報」を作成
- Salesforce で「Files Connect」を有効化
- Salesforce で対象ユーザに権限を付与
- Salesforce で「認証プロバイダ」を作成
- Salesforce で「外部データソース」を作成
- Salesforce で OAuth の認証を設定
参考情報:Google Drive のファイルを連携したい場合はどうすればよいですか?(Salesforce公式記事)
Files Connectを使用可能なエディション
また前提としてFiles Connectを使用可能なエディションは以下の通りです。
- Professional Edition
- Enterprise Edition
- Performance Edition
- Unlimited Edition
- Developer Edition
参考情報:組織でのSalesforce Files Connectの有効化(Salesforce公式記事)
1. Google で「プロジェクト」を作成
1-1. プロジェクト作成
Google Developer Console へアクセスして、新しいプロジェクトを作成します。


1-2. Google Drive APIの有効化
検索窓から「Google Drive API」を検索して、有効化します。



2. Google で「認証情報」を作成
2-1. 認証情報の作成
「+ 認証情報を作成」から「ウィザードで選択」を選択して、認証情報を作成します。

各項目には以下の通り値を入力します。
- APIを選択:Google Drive API
- アクセスするデータの種類:ユーザーデータ

- アプリ名:Salesforce
- ユーザーサポートメール:任意のメールアドレス
- メールアドレス:任意のメールアドレス

- アプリケーションの種類:ウェブアプリケーション
- 名前:任意の値

「作成」ボタンをクリック後、クライアントIDが生成されたことを確認して保存してください。

2-2. クライアント情報を控える
作成したクライアントIDを選択して編集ボタンをクリックします。

後続の手順で使用するクライアントID、クライアントシークレットを控えます。

3. Salesforce で「Files Connect」を有効化
3-1. Files Connect の有効化
クイック検索 > Files Connect から「Files Connect 設定」を開き、「Files Connect の有効化」にチェックを入れて保存します。

4. Salesforce で対象ユーザに権限を付与
4-1. 権限付与
プロファイルや権限セットでGoogle Drive連携を使用したい「Files Connect (クラウド)」権限を付与します。

5. Salesforce で「認証プロバイダー」を作成
5-1. 認証プロバイダーの作成
クイック検索 > ID > 認証プロバイダーから新規作成画面を開きます。

各項目には以下の通り値を入力します。
- プロバイダータイプ:Open ID Connect
- 名前:任意の値
- URL接尾辞:自動入力される
- コンシューマー鍵:手順2-2で控えたクライアントID
- コンシューマーの秘密:手順2-2で控えたクライアントシークレット
- 承認エンドポイントURL:https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force
- トークエンドポイントURL:https://accounts.google.com/o/oauth2/token
- デフォルトの範囲:https://www.googleapis.com/auth/drive

5-2. コールバック URLを控える
Google developer consoleに埋め込むためのコールバックURLを控えます。

5-3. 承認済みのリダイレクトURLを入力
1つ前の手順で控えたコールバックURLをGoogle developer consoleの「承認済みのリダイレクトURL」に入力します。

6. Salesforce で「外部データソース」を作成
6-1. 外部データソースの作成
クイック検索 > インテグレーション > 外部データソースからから新規外部データソースを作成します。

各項目には以下の通り値を入力します。
- 外部データソース:任意の値
- 名前:任意の名称
- 種別:Files Connect:Googleドライブ
- ID種別:ユーザ
- 認証プロトコル:OAuth2.0
- 認証プロバイダ:GoogleDrive
- 保存時に認証フローを開始:TRUE

6-2. Googleアカウントへのログイン
Googleのログイン画面が表示されるため、対象のアカウントにログインします。

※公開ステータスが「テスト中」の場合は下記のようにエラーメッセージが表示されます。


「公開ステータス」が「本番環境」の状態でログインを行ってください。

6-3. アクセス許可
ログインが完了するとそれぞれのリクエスト画面が表示されるため、許可していきます。


6-4. 同期設定
ログイン、アクセス許可が完了すると「管理認証状況」が「認証済み」となるため「検証して同期」をクリックします。

外部オブジェクトが自動作成されているため、対象の外部オブジェクトを選択して、「同期」をクリックします。

6-5. 外部オブジェクトの有効化
自動作成された外部オブジェクトを有効化するために「編集」ボタンをクリックします。

「リリース状況」が「開発中」のため「リリース済み」にチェックを入れて保存します。


6-6. 権限確認
クイック検索 > セキュリティ > 項目アクセス許可 から外部オブジェクトのアクセス権が付与されていることを確認します。



7. Salesforce で OAuth の認証を設定
7-1. プロファイルに外部データソースアクセスを追加
Google Drive連携を使用するプロファイルに対し、先ほど作成した外部データソースを「有効な外部データソース」に追加します。


7-2. ユーザーに外部データソースアクセスを追加
Google Drive連携の権限を付与したユーザーに対して、ユーザーの個人設定で「保存時に認証フローを開始」にチェックを入れて保存します。


7-3. Googleアカウントへのログイン
Googleのログイン画面が表示されるため、対象のアカウントにログインします。

7-4. アクセス許可
ログインが完了するとそれぞれのリクエスト画面が表示されるため、許可していきます。


7-5. 認証確認
リスエクトを許可すると「認証状況」が「認証済み」に変更されます。

「認証済み」に更新されると、「ファイル」から「Google Drive」が選択できるようになっていることが確認できます。

最後に
Files Connectを用いてGoogle Drive連携すると、SalesforceからGoogle Drive上のファイル参照・共有・検索・ダウンロード等の操作が可能となります。ただしSalesforceからGoogle Driveへ直接ファイルを編集したりアップロードしたりすることはできず、フォルダ管理や権限同期も不可能となっております。
そのため「出来ること」と「出来ないこと」の線引きを理解して利用することが重要です。もしSalesforceから直接ファイルアップロードやフォルダ操作まで行いたい場合には、弊社が提供しているAppExchange「Folders」での実現を是非ご検討ください。