【问题标题】:Authentication useing PHP SDK not working使用 PHP SDK 的身份验证不起作用
【发布时间】:2012-01-24 12:27:21
【问题描述】:

我在使用 PHP SDK 进行身份验证时遇到了一些问题。我已经从 github 下载了“facebook.php”和“base_facebook.php”。 下面是我正在使用的代码,但无法弄清楚我哪里出错了(这一切都是新的)。

<?php
require 'facebook.php' ;
$fbconfig['appid' ] = xxx;
$fbconfig['secret'] = "xxxx";
$fbconfig['baseurl'] = "xxx";
$params = array(
'scope' => 'read_stream, friends_likes',
'redirect_uri' => 'xxx'
);
 $loginUrl = $facebook->getLoginUrl($params​);
 $logoutUrl = $facebook->getLogoutUrl();
  if(!$user)
     {
        echo "<P>You need to <a href=\"' . $loginUrl . '\">log into FB</a></p>\n";
        exit();
     }
  else
     {
         echo "<p style=\"margin-bottom:20px;\">​<a href=\"{$logoutUrl}\">Logout</​p>\n";
      }
 ?>

任何建议都非常受欢迎:)

【问题讨论】:

  • 您期望的行为是什么,脚本实际在做什么?
  • 如果用户未登录,我希望它只显示“登录 FB”链接,如果用户登录,则显示“注销”按钮。当我运行代码时,我收到以下 PHP 错误“致命错误:在第 20 行的 /xx/xx/xx/xx.php 中的非对象上调用成员函数 getLoginUrl()”

标签: authentication facebook-php-sdk facebook-login


【解决方案1】:

基于this site,看来您需要显式构造自己的Facebook 对象:

require_once("facebook.php");

$config = array();
$config[‘appId’] = 'YOUR_APP_ID';
$config[‘secret’] = 'YOUR_APP_SECRET';
$config[‘fileUpload’] = false; // optional

$facebook = new Facebook($config);

【讨论】:

  • 行为发生了变化,现在即使我登录 FB,页面也会显示“您需要使用 FB 登录”,当我点击它时,它会将我带到 facebook.com 并显示“An发生错误。请稍后再试”
  • 鉴于 $user 未定义,当然它总是会提示登录。该错误听起来像是 $config 中的错误 - 您可能应该查看文档。
  • 我明白了,我的印象是 $user 来自 facebook.php。我将继续尝试破译文档。
  • 我在文档中找不到任何有帮助的内容:(
猜你喜欢
  • 2015-08-05
  • 1970-01-01
  • 2020-03-13
  • 2017-04-10
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
相关资源
最近更新 更多