スプレッドシートへのエクスポート
達成した目標ごとに1行を、お客様のスプレッドシートやリストに保存します。BI ツールを開かないチームメンバーのための機能です。
1. どちらを選ぶか
役割は同じです。違いは、会社で既に使っているアカウントです。
| Google Sheets | Microsoft SharePoint | |
|---|---|---|
| 行の保存形式 | シートに追加する行 | リストの項目 |
| 指定するもの | サービスアカウントキー、スプレッドシート ID | テナント、クライアント ID、クライアントシークレット、サイト ID、リスト ID |
| 列 | 固定順序の8列 | リストにある列。書き込む前に確認します |
| 設定の手間 | サービスアカウントを作成し、シートを共有 | アプリを登録し、一つのサイトへの権限を付与 |
BigQuery コネクターの小型版です。あちらは SQL を使うデータチーム向け、こちらは金額で並べ替え、上位10件を営業に送る人向けです。
2. Google Sheets:忘れがちな共有手順
サービスアカウントも独立したユーザーで、次で終わる独自のメールアドレスを持ちます: .iam.gserviceaccount.com。キーの作成だけでは不十分です。 そのアドレスとスプレッドシートを共有する必要があります。同僚と共有するときと同じです。
省くと、書き込みのたびに403が返ります。Google 自身の文言には説明がなく、キーの調査に半日費やしてしまうため、当社のエラーメッセージでは明示します。
簡単であれば URL 全体を貼り付けられます
スプレッドシート ID は、 /d/ と /editの間にある部分です。入力欄にアドレス全体を貼り付ければ、当社側で必要な部分を取り出します。
値は意図的に生のまま書き込みます
「ユーザー入力」としては書きません。そうすると、例えば次のような顧客 ID を、 00123 Google が数値として読み取り、先頭のゼロを落としてしまうからです。また、次で始まる値は、 = 数式になってしまいます。
3. SharePoint:書き込む前に列を読み取る
SharePoint は、リストに存在しない列を指定する項目を拒否します。内部の列名は、リスト作成時に決めたものです。固定の列構成を仮定すると、2人に1人のお客様で外れる賭けになってしまいます。
そのため、1時間ごとにリストの列を取得し、存在し、かつ読み取り専用でない列だけに書き込みます。初期設定の Title 列しかないリストには、目標ごとに失敗する代わりに、目標名だけを保存します。
作成した場合に使える任意の列: MPSession、 MPChannel、 MPUser、 MPValue、 MPCurrency、 MPUrl、 MPTime。
Microsoft が推奨する権限は、ここで必要なものではありません
この呼び出しについて、Microsoft のドキュメントは最小権限として Sites.ReadWrite.All を挙げています。しかしこれは、リストを一つ埋める連携に対し、 テナント内のすべてのサイトへの書き込みを許可するものです。
代わりに、次を使ってください: Sites.Selected 。この権限を持つアプリは、初期状態では一切アクセスできず、管理者が正確に一つのサイトへの書き込み権限を付与します。 両方を付与すると制限が無効になります 。限定的な権限が働くのは、アプリに他の権限がない場合だけです。
4. 行に保存される内容
タイムスタンプ、プロジェクト、セッション、顧客 ID、目標名、金額、通貨、録画の再生リンクです。SharePoint では、このうち存在する列に、列の型に合う形式で同じ値を書き込みます。ハイパーリンク列にはリンクオブジェクト、テキスト列には同じアドレスを文字列で入れます。
空欄は0ではなく「金額未設定」を意味します
金額のない目標では、セルを空のままにします。0にすると、スプレッドシート内で実在しない合計に加算されてしまうためです。
顧客 ID は配信時に検索します
目標の発生時ではありません。識別は通常ログイン時に行われ、多くの場合は目標達成の 後 になります。数秒後に問い合わせる方が、イベントのパイプラインの負担を減らせるうえ、名前も見つかりやすくなります。
両方の認証情報は AES-256-GCM で暗号化して保存し、再表示しません。また、タスクを運ぶ内部キューには意図的に含めません。
記載されている商標はすべて各所有者に帰属します。MousePlayer とこれらのプロバイダーとの間に取引関係はありません。