背景
WalkMeは7つの事前定義されたSalesforce変数を識別できます(Salesforce Classicでは、これらを利用するのにWalkMe for Salesforce(Salesforce向けWalkMe)パッケージは必要ありません)。
- walkme_sf_vars.organizationId
- walkme_sf_vars.organizationName
- walkme_sf_vars.profileId
- walkme_sf_vars.roleId
- walkme_sf_vars.userId
- walkme_sf_vars.userLanguage
- walkme_sf_vars.userName
制限
Salesforce Lightningでは次のものは使用できません。
- walkme_sf_vars.organizationId
- walkme_sf_vars.organizationName
Salesforce Lightning CommunitiesではsfVarsはサポートされていません。
注: これら7つの事前定義されたオプションはいずれも上記に示したカスタムSalesforce変数フィールドに追加しないでください。 追加した場合は、sfVarsで予期しない動作が発生する可能性があります。 事前定義されたSalesforce変数をレポートで追跡したい場合は、Analytics Properties(アナリティクスプロパティー)として追加します。
背景と導入
注:
sfVars Visual Forceページ(vf_WalkMeSfVars)は、WalkMeおよび変数にアクセスする必要があるすべてのプロファイルで利用できる必要があります。 さらに、LightningでsfVarsを適切に取得するためには、[Setup(設定)]>[Session Settings(セッションの設定)]>[Clickjack Protection(クリックジャック保護)]からアクセスできる「Enable clickjack protection for customer Visualforce pages with headers disabled(ヘッダーが無効化された Visualforce ページのクリックジャック保護を有効化)」という設定を、デフォルトのままチェックを外したままにしておく必要があります。
sfVarsのトラブルシューティング
「walkme_sf_vars」が未定義として表示される場合は・・・
すべてのプラットフォームについて以下を確認します。
- 更新または変更をテストする際にはキャッシュおよびクッキーを必ずクリアにします。
- 次を実施することで、形式が不正なカスタム変数を確認します。
- Editor>[Settings(設定)]>[General(全般)]>[Salesforce Variable(Salesforce変数)]のセクションに移動します。
- ここで、このナレッジベースに従い、カスタム変数の形式が正しく設定されているかを確認します。
- 変数に適切なシンタックスが使用されていることを確認します。例えば、WalkMe_Sf_Vars.ProfileIDではなく、正しくはwalkme_sf_vars.profileIdです。
Salesforce Classic
-
- 環境のコンソールからwindow.__sfdcSessionIdを呼び出し可能なことを確認します。
- 「未定義」が返される場合は、ユーザーがAPIの権限を持っていないということです。 Salesforceの管理者に依頼して、関連ユーザーがsfVarsを使えるようAPIの権限を付与してもらいます。
- この設定を見つけるには、Salesforceで[Setup(設定)]>[Security Controls(セキュリティのコントロール)]>[Session Settings(セッションの設定)]>[Require HttpOnly(HttpOnly 属性が必要)]を確認します。
Salesforce Lightning
-
- まず、WM4SFパッケージが導入されていることを確認します。Lightningの実装ではこれは必須なためです。
- このナレッジベースに従い、不正な形式のカスタム変数を確認します。
- 下のようなコンソールエラーが表示される場合は、ユーザーがsfVars VisualForceページへのアクセス権を持っていない可能性があります。

- ユーザーにWM sfVars Visual Forceページへのアクセス権があることを確認します。 アクセス権は、WalkMeおよび変数へのアクセスが必要なプロファイルすべてで必要です。 これには次を実施します。
-
-
- [Setup(設定)]に移動します。
- [Quick Find(クイック検索)]で「Visualforce ページ」を検索し、ページに移動します。
- [V]>[vf_WalkMeSfVars]に移動し、[Security(セキュリティ)]をクリックします。

- 右側の[Enabled Profiles(有効なプロファイル)]にすべてのプロファイルを追加して、ユーザープロファイルでsfVarsを有効化します。

-
- また、ローカルストレージで「walkme-sf-vars-last-fail」キーがあることを確認することもできます。
- window.__sfdcSessionIdが 環境のコンソールから呼び出し可能なことを確認します。 「未定義」が返される場合は、ユーザーがAPIの権限を持っていないということです。 Salesforceの管理者に依頼して、関連ユーザーがsfVarsを使えるようAPIの権限を付与してもらいます。
- document.cookieの呼び出しに「sid=####」が含まれることを確認します。含まれない場合は、お客様がそのセッションでHTTPOnlyを有効化している可能性があります。 HTTPOnlyは、コードからsidクッキーを見られないようにするため、sfVarsはHTTPOnlyでは動作しません。
- この設定を見つけるには、Salesforceで[Setup(設定)]>[Security Controls(セキュリティのコントロール)]>[Session Settings(セッションの設定)]>[Require HttpOnly(HttpOnly 属性が必要)]を確認します。
コミュニティー:
-
- WM4SFパッケージが導入され、最新のバージョンであることを確認します。
- コミュニティーでVisualForceページが存在することを確認します。
- SalesforceでユーザーのAPIが有効化されていることを確認します。