从页面选项卡中检索参数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
。
任何想法?
答
您需要使用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。
它不工作使用'$ _GET ['user']'? –