0

对于我的 facebook 测验应用程序,我需要收集每个参与用户的 facebookID。我的应用位于另一个应用的 iframe 中。

我放在第三方文件夹中的“facebook-files”。

在我的控制器中,我像这样调用它:

  $this->ci->load->file(APPPATH.'/third_party/facebook.php');
  // Connect to Facebook API
  $this->facebook = new Facebook(array('appId' => $this->config->item('appkey'), 'secret' => $this->config->item('appsecret')));

似乎无法从参与者那里获取 facebookID。

如果尝试这个:

try {
    $user_id = $this->facebook->api('/me');
    //$signed_request = $_REQUEST["signed_request"];
    //$user_id = $signed_request['user_id'];
    //print_r( $user_id) ;
} catch ( FacebookApiException $e ) {
    error_log( $e );
    $user_id = 100;
}

$user_id 是 100。你能让我开始如何检索正确的 facebookid 吗?什么是正确的方法?认证过程?

提前致谢!

安斯加尔

4

1 回答 1

1

要使用 PHP 获取 Facebook ID,您需要使用以下方法$fb->getUser()https ://developers.facebook.com/docs/reference/php/facebook-getUser/

虽然,要使其正常工作,用户需要连接到您的应用程序。这可以通过多种方式实现,但如果您只使用 PHP 来实现,您可以使用该getLoginUrl方法获取要求用户接受以使用您的应用程序登录的 URL(https://developers.facebook.com/docs /reference/php/facebook-getLoginUrl/)。这也可以通过 JS SDK 实现(这是我个人的首选方式)

登录对话框的所有文档都可以在这里找到:https ://developers.facebook.com/docs/opengraph/authentication/

这里的关键概念是用户是匿名的,直到您要求他们在您的应用程序中连接。

于 2012-12-01T02:15:09.823 回答