0

我正在尝试获取登录并使用我的应用程序的当前用户的 Facebook ID,以便可以将其与其他一些信息一起写入数据库。

我已经为自己测试了无数次,它会获取我的ID并将其写入数据库,但是如果我要求其他人使用它......它不会获取我的应用程序用户的ID......

我是否缺少任何扩展权限?到目前为止,这就是我获取用户 ID 的全部内容。

谢谢。

<?php include ('includes/php/facebook.php'); ?>

<?php

$facebook = new Facebook(array(
  'appId' => 'XXXXXXXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
));

?>

<?php

    $user = $facebook->getUser();
    $userId = $user;
    //some code here...
?>
4

2 回答 2

1

如果 $userID 为 0 或 null,则表示用户未通过身份验证。

// Get User ID
$user = $facebook->getUser();

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me/accounts');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl(array("domain" => 'www.myurl.com'));
} else {
  $loginUrl = $facebook->getLoginUrl(array("scope" => 'publish_stream,offline_access,manage_pages'));
}

您可以从http://developers.facebook.com/docs/reference/php/下载 SDK

它包含几个例子。

于 2012-02-13T22:02:04.757 回答
0

http://developers.facebook.com/docs/authentication/

默认情况下,会要求用户授权应用访问公开或默认在 Facebook 上可用的基本信息。如果您的应用需要的不仅仅是这些基本信息才能运行,您必须向用户请求特定权限。这是通过将范围参数添加到 OAuth 对话请求,后跟以逗号分隔的所需权限列表来完成的。以下示例显示了如何请求访问用户的电子邮件地址和他们的新闻提要:

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
于 2012-02-13T22:00:33.783 回答