【问题标题】:Retrieve Parameter From Page Tab URL从页面选项卡 URL 检索参数
【发布时间】:2012-12-17 18:02:44
【问题描述】:

我有一个带有 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 的值。

有什么想法吗?

【问题讨论】:

  • $_GET['user']不行吗?

标签: php facebook facebook-php-sdk facebook-apps


【解决方案1】:

您需要使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2023-03-31
    • 2017-07-24
    • 1970-01-01
    相关资源
    最近更新 更多