4

Facebookアプリケーションの署名付きリクエストに問題があります。初めては良いです、そして私はユーザーが私のアプリを好きかどうかを知っています。しかし、アプリケーション(リンク、フォームなど)をリロードすると、署名付きリクエストが失われます([F5]を更新するだけで、動作とは異なります)。

なんで本当にわからないの?

リンクはもう機能しません:(

アプリでは、$ facebook、$ _ REQUEST、$_SERVERの情報を見ることができます。

お手数をおかけしますが、よろしくお願いいたします。

4

2 に答える 2

4

署名されたリクエストは、Facebookからの紹介のヘッダーにあります。後続の紹介は自分のページから行われるため、リンク間で維持されません。signed_requestを使用して情報を取得し、それをページ間のセッションに保持します。

于 2012-05-25T14:40:25.163 に答える
1

一度だけsigned_requestを取得できます。Facebookがアプリをiframeにロードするのはまさにその時です。次に、さらに使用するためにsigned_requestを保存する必要があります(サブページ)。そこで、$ _ REQUESTを介してデータを確認するか、保存されているsigned_request値にフォールバックする必要があります。これは、fbHelperコンポーネントの小さな例です。これにより、問題の処理方法についていくつかのアイデアが得られることを願っています。

ソース: http: //www.facebook.com/HelperComponentlCommunity/app_412923142052609

    if(array_key_exists('signed_request', $_REQUEST))
        $signed_request = $_REQUEST['signed_request'];
    elseif(array_key_exists('signed_request' . $this->pageId, $_SESSION))
        $signed_request = $_SESSION['signed_request' . $this->pageId];
    else
        return false;

    $facebook_data= $this->parse_signed_request($signed_request);
于 2012-05-25T21:23:24.823 に答える