【问题标题】:Facebook signed request not providing all informationFacebook 签署的请求未提供所有信息
【发布时间】:2013-01-23 22:26:19
【问题描述】:

我已将 SDK 正确放入我的 CI 设置中,并运行如下代码:

    if (!empty($_POST['signed_request'])) {
        $signed_request = $_POST['signed_request'];
    }
    list($sig, $payload) = explode('.', $signed_request, 2);
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
    var_dump ($data);

我只是从这段代码中收到一些的信息,如下:

array(6) { ["algorithm"]=> string(11) "HMAC-SHA256" ["expires"]=> int(1358985600) ["issued_at"]=> int(1358978635) ["oauth_token" ]=> string(116) "AAACPRZBPSwx0BADKZBGikSA09ZCJeWDcOZCWYpg0YoXZAgSkZB6tnBQftKZAM3LFG9itoAwoYQ3bDeZCuyZBoPXvxqMTrAonrIphlQY4g0KPChwZDZD" ["user"]=> 数组(3) {") ["country"]=> string(3) {") ["country"]"]=>2) ["age"]=> array(1) { ["min"]=> int(21) } } ["user_id"]=> string(9) "---------" }

(出于显而易见的原因屏蔽了我的 user_id!)

网上无数的教程告诉我,我应该能够使用此代码来确定该应用是否被“喜欢”:

if ($data["page"]["liked"]) { echo "yes"; } else { echo "no"; }

我错过了什么吗?

【问题讨论】:

  • 你执行什么请求?
  • 你试过php SDK吗?

标签: php facebook codeigniter


【解决方案1】:

网上无数的教程告诉我,我应该能够使用此代码来确定该应用是否被“喜欢”

应用不能被“点赞”。

可以喜欢的是 Facebook 页面,如果您的应用程序作为页面选项卡嵌入到该页面中,那么您将在已发布到您的应用程序的签名请求中获得相应的信息iframe 的初始加载。

【讨论】:

  • 是的。这正是我要说的。与其说是应用程序,不如说是在 iframe 中保存应用程序的页面。对不起我的困惑。 :)
猜你喜欢
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
  • 2011-09-21
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
相关资源
最近更新 更多