2013-12-12

SalesforceのセッションIDを無理やり取得する方法

Salesforceで現在ログインしているユーザのセッションIDは、

cookie上ではkey値[sid]のvalueとして格納されるため、以下のようにして取得することが出来る。

 

document.cookie.substring(
  document.cookie.indexOf("=",document.cookie.indexOf("sid=")) + 1,
  document.cookie.indexOf(";",document.cookie.indexOf("sid="))
)

 

そもそもログインユーザであれば、お知らせ等のサイドコンポーネントの中に

JavaScriptを出力するVFを埋め込んだりして、標準画面上でもある程度動的なことは可能だが、

UserScriptをブラウザに取り込んで、salesforceドメインで常々動作させる機能を書いたりするときには

セッションIDをcookieから取得する上記の方法が有効。

 

もちろん、Salesforceの仕様が変わって、key値がsidから変更されてしまったら

上記のスクリプトが動かなくなってしまうので、お客さんの環境ではこの取得方法は利用しないほうが良い。

飽くまで、開発者用のツール等を作成するときに利用できますよー、ということで。

このエントリーをはてなブックマークに追加