0

Facebook タブの URL から URL パラメータを取得する必要があります。

https://www.facebook.com/name/app_MYID?v=app_MYID&app_data=%7Bid%3A1%7D

app_data パラメーター値は {id:1} です。

私のphpは次のようになります

require 'fb/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'my_app_id',
  'secret' => 'my_secret',
  'cookie' => true
));
$signedRequest = $facebook->getSignedRequest();

$appData = array();
if (!empty($signedRequest) && !empty($signedRequest['app_data'])) {
  $appData = json_decode($signedRequest['app_data'], true);
}

エントリ $signedRequest['app_data'] は決して設定されません。また、FB エラーはどこにもありません。$signedRequest['code'] などの $signedRequest の他のすべてのエントリは正常に見えます。

私のアプリはサンドボックス モードです。パラメータが失われる原因となるリダイレクトは行われません。

私に何ができる?

これがsignedRequestの私のダンプです:

 array(4) { ["algorithm"]=> string(11) "HMAC-SHA256" ["code"]=> string(344) "AQCPnmrVunEJ3D4qbwm2PrulMCJrd14iLfK6MwNmA8FzdaIGwlO4OmlvaYiNss0BJjIIjV5P5P2Oq4JrK71qbB-MBi8jcb26TabckkvJF5lGhyGpgRv5BHY_-YAOnqch1CMAKMwZCYcXIZP6CjSdXvoE-ZkDe_QhIKGi8fdNRFQHrwxNSr4oDKtwqNxKCLPJ96nQOlNrw_GxE5ARamR26ge9hmSnKY6cPdA9C0IMTDnufXJoYOluuFt53_Vu59Jqv33tWmP6gz-zV9kuJ8MIvXkfFCpxlzAh2Wgr_cyx7OumxCNv5NDvzeYNhHDOg1MrP2zwxI9ex_YG6A9_eNf_UASy" ["issued_at"]=> int(1374715498) ["user_id"]=> string(15) "100004071391531" }
4

1 に答える 1

0

構成の問題でした。ターゲット URL に末尾の「/」がありませんでした。なんて時間の無駄!

于 2013-07-25T01:37:51.223 に答える