JavaScript で app_data の内容を取得しようとしていますが、うまくいきません。次のように、signed_request を取得してデコードできます (「response」変数は FB.getLoginStatus から渡されます)。
var sr=response.authResponse.signedRequest.split(".");
sr_json=window.atob(sr[1]);
ただし、sr_json には常に次のようなものが含まれます。
{"algorithm":"HMAC-SHA256","code":"fb_auth_code_here","issued_at":1361914477,"user_id":"1234567"}
...app_data がありません。
signed_request に必要なのは app_data パラメーターの取得だけなので、署名のチェックについて心配する必要はありません。
何か案は?app_data を探す場所は他にありますか? JSで取得することはできませんか?(そうでない場合は、なぜそのように設計されているのか知りたいです...) 私は運がないので、これのバリエーションで何時間も遊んでいます。app_data をデコードするためにサーバー側のコンポーネントを追加することは避けたいので、可能であれば純粋な JS ソリューションを探しています。
編集: http://www.facebook.com/3rdWindowApps?sk=app_169352419879937&app_data= {"t":"test123","a":"b"} のような URL を呼び出しているので、{" が表示されるはずです。 t":"test123","a":"b"} を app_data の内容として。