Php 如何登录到Facebook帐户并检索该用户的尽可能多的信息

Php 如何登录到Facebook帐户并检索该用户的尽可能多的信息,php,facebook,zend-framework,Php,Facebook,Zend Framework,登录后,如何获取该配置文件的更多信息以存储在我的数据库中,以便将来进行交叉检查和验证 一) 以下是我的网站登录Facebook用户帐户的方式: require_once ‘facebook-platform/php/facebook.php’; $appapikey = ‘_____________HIDDEN_____________′; $appsecret = ’_____________HIDDEN_____________′; $appcallbackurl = ‘exmaple.co

登录后,如何获取该配置文件的更多信息以存储在我的数据库中,以便将来进行交叉检查和验证

一) 以下是我的网站登录Facebook用户帐户的方式:

require_once ‘facebook-platform/php/facebook.php’;
$appapikey = ‘_____________HIDDEN_____________′;
$appsecret = ’_____________HIDDEN_____________′;
$appcallbackurl = ‘exmaple.com’;
$facebook = array(
  ‘appapikey’ => $appapikey,
  ‘appsecret’ => $appsecret,
  ‘appcallbackurl’ => $appcallbackurl
);
require_once “Zend/Loader.php”;
Zend_Loader::registerAutoload();
$registry = Zend_Registry::getInstance();
$registry->set(‘facebook’,$facebook);
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory(‘/application/controllers’);
$frontController->dispatch();
二) 现在我需要这个用户的详细信息,比如照片、出生日期、姓氏、名、Facebook的URL等等。怎么做

跟进:


首先:你的AppId和AppKey是你应该为他人隐藏的东西,至少是密钥。这是应该保密的东西,所以我想你现在需要更新你的钥匙

切中要害:我不熟悉Zend框架,但我使用过PHPSDK。如果用户尚未登录,则可以使用PHP SDK中的getLoginUrl()方法为用户获取loginurl

如果要检索有关用户的信息,可以使用api()-方法查询Graph api。下面是一个关于如何使用它的示例:

$fb = new Facebook(array('appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET'));
try {
    $fb_userid = $fb->getUser();
    if($database->checkIfUserExists($fb_userid) === false) {
        $user = $fb->api('/me','GET');
        $fb_firstname = $user['first_name'];
        $fb_lastname = $user['last_name'];
        $fb_email = $user['email'];
    }
} catch(FacebookApiException $e) {
    // do something
}
请记住,realname、userid、用户名和图片等基本信息无需请求更多权限即可使用。如果您想要用户电子邮件之类的信息,您必须申请该权限

请参阅下面的文档,了解您可以从用户对象获得哪些信息

  • 文档-PHP SDK:
  • 文档-图形API: