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 参数。网址如下所示:

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

我想获得user.

有任何想法吗?

4

1 回答 1

2

您需要使用该app_data参数。Facebook 会读取此参数并在请求中将其传递给您的应用程序:

app_data此外,signed_request如果在加载选项卡的 URL 中的原始查询字符串中设置了 app_data 参数,您的应用还将收到一个字符串参数 。它可能看起来像这样:“ 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 回答