Facebook应用$ data [“user_id”]在移动设备上为空

时间:2012-11-02 14:20:15

标签: facebook

我创建的应用程序运行良好 - 但不是在移动设备上。 用户登录我的应用程序后,我陷入了循环,$ data [“user_id”]似乎是空的。这是我正在使用的代码片段:

    $canvas_page = 'https://m.facebook.com/apps/'.$app_id;

 $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" 
   . $app_id . "&redirect_uri=" . urlencode($canvas_page)
   . "&scope=user_birthday";

    $signed_request = $_REQUEST["signed_request"];

    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), 
    true);

  if (empty($data["user_id"])) {
    echo("<script> top.location.href='" . $auth_url . "'</script>");
    }

任何人都知道为什么?

1 个答案:

答案 0 :(得分:0)

我不完全确定signed_request是否已发布到移动应用,但未在接收它的应用类型中列出:
https://developers.facebook.com/docs/howtos/login/signed-request/
但是,根据该文档,您的if语句可能应该查找$_REQUEST本身,而不是user_id