我有一个带有网址的facebook标签应用程序。我想传递一些GET参数的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'];
}
我想知道如何从网址获取GET参数。网址如下:
https://www.facebook.com/pages/Msomepagey/23023424231927?sk=app_518726691484563&user=someuser
我想获得user
的价值。
有什么想法吗?
答案 0 :(得分:2)
您需要使用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。