Calsketでは、各個人がGoogleカレンダー上で設定している「マイカレンダー」「他のカレンダー」に追加しているカレンダーをCalsket上で参照可能にする「Googleカレンダー連携機能」とSalesforceの行動データとGoogleカレンダー(各個人のメインカレンダー)のデータを双方向で同期する「Googleカレンダー同期機能」の2種類の連携機能があります。詳しくは下記をご参考ください。
ここでは、これらの機能を使用する際の初期設定手順について説明します。
※ 本設定を行う前に、Calsketのインストール手順の「2. 権限セットの割り当て」以降の手順が正しく行われていることを確認してください。
※ サンドボックス環境でGoogleカレンダー同期機能を利用する場合(トライアル期間含む)はライセンスキーの設定が必要です。ライセンスキー未取得の場合は弊社までお問い合わせください。
※SalesforceのGoogleカレンダー同期機能である「Lightning Sync」など、他の同期ツールと併せてトライアルをされる場合、必ずLightning Syncや他の同期ツールを無効にした上で本設定を行ってください。有効にしたまま本設定を行った場合、お互いの同期処理が同時に処理され、行動が無数に追加される現象が発生します。
- 1. Google Calendar APIへのリモートサイトアクセスを有効にする
- 2. Calsket用のGoogle APIサービスアカウントを作成する
- 3. G SuiteのGoogle管理コンソールでサービスアカウントからのアクセスを許可
- 4. 作成したサービスアカウントをCalsketに設定
- 5. Googleカレンダー連携機能を有効化
- 6. Googleカレンダー同期機能を有効化
- 7. Googleカレンダー同期機能: 既存データの同期
1. Google Calendar APIへのリモートサイトアクセスを有効にする
❶ Salesforce設定にて [セキュリティのコントロール] > [リモートサイトの設定]を開き、[GoogleAPI]の[編集]をクリックします。
❷ [有効]にチェックを入れ[保存]ボタンをクリックしてください
※ Calsketのインストール後にリモートサイトの編集画面を開くと、「有効」にチェックが入った状態で表示されますが、上記画面上で「保存」ボタンをクリックし、保存する必要があります。ご注意下さい。
2. Calsket用のGoogle APIサービスアカウントを作成する
Calsket用のGoogle APIサービスアカウントを作成します。
❶ Google Cloud Console (https://console.cloud.google.com)にG Suiteの特権管理者権限を持つアカウントでログインします。
❷ ヘッダーの矢印を押し、[プロジェクトを作成]をクリックします。
❸ 適当な名称(例:「Calsket」)で新しいプロジェクトを作成します。
❹ しばらく待つと作成が完了し、作成したプロジェクトの画面に切り替わります。
❺ [≡] > [APIとサービス] > [ライブラリ]を開きます。
❻ 一覧に表示されていない場合は、検索フォームに「Calendar API」と入れ絞り込み、検索結果の中から[Google Calendar API]を選択します。
❼ [有効にする]をクリックします。
❽ 次に、メニューの [≡] > [APIとサービス] > [認証情報]を開きます。
❾ 「認証情報を作成」ボタンをクリックし、「サービスアカウントキー」を選択します。
❿ 「サービスアカウントキーの作成」画面に移動しますので、下記の情報を入力・選択して「作成」ボタンをクリックしてください
- サービスアカウント:新しいサービスアカウント
- サービス アカウント名: 任意(例: Calsket)
- 役割:Project → 編集者
- キーのタイプ: JSON
⓫ JSON ファイルがダウンロードされます。JSON ファイルは後の手順で利用します
⓬ 続いて、G Suite ドメイン全体の委任を有効化します。「サービスアカウントの管理」をクリックしてください。
⓭ 作成したサービスアカウントの右端のメニューより、「編集」をクリックしてください。
⓮ 「サービスアカウントの詳細」画面に遷移しますので、「ドメイン全体の委任の表示」をクリックし、「G Suite ドメイン全体の委任を有効にする」にチェックを入れてください
⓯ チェックを入れるとOAuth 同意画面でのプロダクト名を構成を求められますので、「同意画面のプロダクト名」に任意の名称(例:Calsket)を入力し、「保存」ボタンをクリックして下さい。
⓰ 続いて、 [≡] > [APIとサービス] > [認証情報]を開き、[OAuth 2.0クライアントID]セクションの[クライアントID]に表示されている数字を控えておきます。
3. G SuiteのGoogle管理コンソールでサービスアカウントからのアクセスを許可
❶ Google管理コンソール(https://admin.google.com)に管理者でログインし、[セキュリティ]を開きます。
❷ [詳細設定]を開き[ドメイン全体の委任を管理]を開きます。
❸ [新しく追加]を開きます
❹ 以下のアクセス許可設定を追加し、[承認]をクリックします
- クライアントID: <先ほど控えたクライアントID>
- OAuthスコープ: https://www.googleapis.com/auth/calendar
❺ 以上で完了です。
4. 作成したサービスアカウントをCalsketに設定
❶ 「Calsket」アプリケーション(Classicの場合は「Calsket管理」アプリケーション)の「Calsket設定」タブを開き、「GOOGLE連携/同期」タブをクリックします。
❷ [Googleカレンダー連携/同期の設定]セクションで以下のように入力し、[保存]をクリックします。
- Googleサービスアカウントの秘密鍵
上記手順でダウンロードした[<プロジェクト名>-xxxxx.json]ファイルをアップロード
- G Suiteアカウント保存先項目名
G Suiteアカウント(Emailアドレス)が格納されているユーザーオブジェクトの項目のAPI 参照名を設定します。
G SuiteアカウントとSalesforceユーザのユーザ名(Username)が同じ場合は空欄のままにします。例えばユーザーのGoogleEmail__cというカスタム項目にGoogle Appsアカウントのメールアドレスが紐付いている場合は「GoogleEmail__c」を入力します。
❸ 以上で、Googleカレンダーと連携する準備が整いました。しかし、各連携機能はまだ無効になっています。各連携機能を利用するには機能の有効化が必要です。
5. Googleカレンダー連携機能を有効化
Googleカレンダー連携機能を有効化する場合、[Calsket管理] アプリケーションの[設定] タブを開き、[Googleカレンダー同期]セクションの[Googleカレンダー連携機能を有効化]で[有効にする]チェックボックスにチェックを入れ、[保存]ボタンをクリックします。
Googleカレンダー連携機能を有効化すると、CalsketにGoogleカレンダーの情報を重ねて表示することができます。
6. Googleカレンダー同期機能を有効化
Googleカレンダー同期機能を有効化する場合、[Calsket] アプリケーション(Classicの場合は[Calsket管理]アプリケーション)の[設定] タブを開き、[Googleカレンダー同期]セクションの[Googleカレンダー同期機能を有効化]で[有効にする]チェックボックスにチェックを入れ、[保存]ボタンをクリックします。
Googleカレンダー同期機能を有効化すると、Salesforceのカレンダーの更新情報は即座にGoogleカレンダーに反映され、Googleカレンダーの更新情報は5分おきにSalesforceのカレンダーに反映されます。設定終了後、まずはSalesforce側にデータを追加していただき、Googleカレンダーへデータが反映されていることをご確認下さい。
※同期のタイミングについて
SalesforceからGoogleカレンダーへの同期はリアルタイムで、GoogleカレンダーからSalesforceへの同期は最低5分ごとに行われ、ご利用されるユーザー数に依存してかかる時間が変わります。1000ユーザーでは30分程度かかります。
7. Googleカレンダー同期機能: 既存データの同期
既存のGoogleカレンダーのデータをSalesforceに同期することができます。
※ あらかじめGoogleカレンダー同期機能を有効化してから実行してください。
※ 既存のSalesforceの行動データをGoogleカレンダーに同期することはできません。(同期機能有効化以降に作成された行動はGoogleカレンダーに同期されます。)
Googleカレンダー同期機能を有効化する場合、[Calsket管理] アプリケーションの[設定] タブを開き、[Googleカレンダー同期]セクションの[既存データの同期]で[期間]および[同期方向](以下参照)を選択し、[初期データ同期開始]をクリックします。
期間:
- 本日
- 1ヶ月前
- 2ヶ月前
- 3ヶ月前
同期方向:
- Googleカレンダーの予定をSalesforceに
- Salesforceの行動をGoogleカレンダーに(本機能はまだ未リリースです。)