从页面选项卡中检索参数URL

从页面选项卡中检索参数URL

问题描述:

我有一个拥有URL的Facebook选项卡应用程序。我想传递一些GET参数的URL。通常,这是我该怎么办签名的请求获取用户数据:从页面选项卡中检索参数URL

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

任何想法?

+0

它不工作使用'$ _GET ['user']'? –

您需要使用app_data参数。 Facebook的会读这个参数,它在请求中传递给您的应用程序:

此外,应用程序也将获得被称为 app_data作为signed_request一部分,如果一个app_data文件参数设置字符串参数 原始查询您的标签加载到的URL中的字符串。它可能是 看起来像这样: “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 example