Facebook 用户 ID 始终为 0

发布于 2024-12-17 07:36:15 字数 861 浏览 1 评论 0原文

我最近更换了虚拟主机。从那时起,我的 Facebook 用户 ID 一直为 0:

<?php 
$app_id = "xxxxxxxx";
$canvas_page = "http://apps.facebook.com/the_rsg/";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id=".$app_id."&redirect_uri=".urlencode($canvas_page);
$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>");
}else{
    $pageContent = file_get_contents('http://graph.facebook.com/'.$data["user_id"]);
    $parsedJson  = json_decode($pageContent);
    $user_id = $parsedJson->id;
    $user_name = $parsedJson->name;
    session_start();
    $_SESSION['UserID'] = $user_id;
}
?>

如何解决此问题?

I've recently changed webhosts. Since then, I keep getting 0 for the Facebook User ID:

<?php 
$app_id = "xxxxxxxx";
$canvas_page = "http://apps.facebook.com/the_rsg/";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id=".$app_id."&redirect_uri=".urlencode($canvas_page);
$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>");
}else{
    $pageContent = file_get_contents('http://graph.facebook.com/'.$data["user_id"]);
    $parsedJson  = json_decode($pageContent);
    $user_id = $parsedJson->id;
    $user_name = $parsedJson->name;
    session_start();
    $_SESSION['UserID'] = $user_id;
}
?>

How can this be fixed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别理我 2024-12-24 07:36:16

检查错误日志时:

PHP 警告:file_get_contents(http://graph.facebook.com/xxxxx) [function.file-get-contents]:

无法打开流:在第 20 行 /home/jay/public_html/index.php 中找不到合适的包装器

问题出在 php.ini 文件中。

解决方案是启用 allow_url_fopen

On checking the error log:

PHP Warning: file_get_contents(http://graph.facebook.com/xxxxx) [function.file-get-contents]:

failed to open stream: no suitable wrapper could be found in /home/jay/public_html/index.php on line 20

The problem is in the php.ini file.

The solution is to enable allow_url_fopen.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文