1

URLを持つFacebookタブアプリケーションがあります。URLにいくつかのGETパラメータを渡したい。通常、これは私がユーザーデータを取得するために署名されたリクエストを行う方法です:

if ($signed_request = parsePageSignedRequest()) {   
    $config = array(
        'appId'  => $app_id,
        'secret' => $app_secret,
    );

    $facebook = new Facebook($config);


    $ret_obj = $facebook->api('/me', 'GET', array());

    $theemail = $ret_obj['email'];
    $thename = $ret_obj['name'];
    $theusername = $ret_obj['username'];
}

URLからGETパラメータを取得する方法を考えていました。URLは次のようになります。

https://www.facebook.com/pages/Msomepagey/23023424231927?sk=app_518726691484563&user=someuser

の値を取得したいuser

何か案は?

4

1 に答える 1

2

パラメータを使用する必要がありapp_dataます。Facebook はこのパラメーターを読み取り、リクエスト内でアプリに渡します。

さらに、 タブが読み込まれる URL の元のクエリ文字列に app_data パラメータが設定されている場合、アプリはapp_dataの一部として呼び出される文字列パラメータも受け取ります。signed_request" " のようになりますhttps://www.facebook.com/YourPage?v=app_1234567890&app_data=any_string_here。リンクの生成を制御する場合は、それを使用してレンダリングするコンテンツをカスタマイズできます。

補足として、PHP-SDK を使用して、次のような署名付きリクエストを取得することもできます。

$signed_request = $facebook->getSignedRequest();

詳細はこちら: https://github.com/facebook/facebook-php-sdk/blob/master/src/base_facebook.php#L489

また、呼び出す前に実際に有効なユーザー セッションがあるかどうかを確認する必要があります/me。PHP-SDK のを参照することをお勧めします。

于 2012-12-17T18:43:16.137 に答える