【问题标题】:$facebook->getSession() call breaks page below the call$facebook->getSession() 呼叫下方的呼叫中断页面
【发布时间】:2011-07-29 17:12:42
【问题描述】:

我有这段代码可以让人们使用 Facebook 登录:

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=my_app_id&amp;xfbml=1">
</script><fb:login-button show-faces="false" perms="user_hometown,user_about_me,email,user_address" autologoutlink="true" width="200" max-rows="1">
</fb:login-button>

<?php

if($facebook->getSession())
{
 // Nothing here yet
}

?>

但是对 $facebook->getSession() 的调用似乎打破了页面。此调用下方的任何内容都不会显示。知道为什么吗?还是我做错了什么?

这是我尝试测试的页面: http://www.comehike.com/test_fb_connect.php

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    如果这是您的整个 PHP 文件,那么您的引用 $facebook 尚未声明。您需要包含 PHP SDK 的位置,然后使用您的 appID 和密码初始化 $facebook。此格式已在发现 here 的 PHP SDK v3.0.0 发生变化。

    V 2.2.X

    require '../src/facebook.php';
    
    $facebook = new Facebook(array(
          'appId'  => '12345678910',
          'secret' => '*****************************',
        ));
    
    $session = $facebook->getSession();
    if ($session) {
      // proceed knowing you have a valid user session
    } else {
      // proceed knowing you require user login and/or authentication
    }
    

    V 3.0.0

    require '../src/facebook.php';
    
    $facebook = new Facebook(array(
      'appId'  => '12345678910',
      'secret' => '*****************************',
    ));
    
    $user = $facebook->getUser();
    if ($user) {
      // proceed knowing you have a logged in user who's authenticated
    } else {
      // proceed knowing you require user login and/or authentication
    }
    

    【讨论】:

    • 谢谢 - 我是否必须实际下载 Facebook.php 文件并将其放入我的目录结构中才能正常工作?
    • 是的!因为这都是你做的服务器端。你到底想完成什么? JS SDK 可能会更简单一些,并且仍然可以为您的用例服务。
    • 我试图在用户登录后获取一些用户凭据。我将如何在 JS 中执行此操作?你是对的 - JS 会更容易!
    • 当您说用户凭据时,您是指他们的 Facebook 用户名和密码,还是让他们为您的网站创建新凭据?
    • 我的意思是我想提取他们的 Facebook 数据。然后,我将在我的网站上使用这些凭据来记录他们所做的事情。所以我需要能够获取他们的 FB 名称、lat、lng、电子邮件...并将其插入我的数据库。
    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    相关资源
    最近更新 更多