【问题标题】:Facebook user email extended permissions with new SDK使用新 SDK 的 Facebook 用户电子邮件扩展权限
【发布时间】:2014-02-15 00:11:57
【问题描述】:

我目前在我的 Codeigniter 应用程序中使用以下代码从应用程序用户那里获取 Facebook 数据。

<?php


 require_once('facebook-php-sdk/src/facebook.php');
// Create our Application instance (replace this with your appId and secret).
$facebook= new Facebook(array(
  'appId' => '2453463636',
      'secret' => '365653656565656',
      'allowSignedRequest' => false,
));

$_REQUEST += $_GET;
$user = $facebook->getUser();

if ($user) {
  try {
    // Get the user profile data you have permission to view
   // $user_profile = $facebook->api('/me');
    $user_profile = $facebook->api('/me?fields=picture.width(100).height(100),first_name,last_name,username,email');
    echo $user_profile['email'];
    echo $user_profile['username'];

  } catch (FacebookApiException $e) {
    $user = null;
  }
} else {
  die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>');
}

?>

这在连接和返回页面上回显的用户的username 时工作正常,但是电子邮件不起作用。电子邮件返回在“未定义索引:电子邮件”视图中显示为错误。

几天前我用同样的东西来接收电子邮件,它工作正常,但那是在本地主机上。它可以在 localhost 上正常接收电子邮件,当推送到服务器时,它无法识别email,但它确实识别并获取了username

为什么无法识别电子邮件?

我正在使用最新版本的 sdk:Facebook PHP SDK (v.3.2.3)

【问题讨论】:

    标签: php facebook codeigniter email


    【解决方案1】:

    您不能使用此选项。您需要 Facebook 的扩展许可。查看此链接了解更多详情:

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

    Facebook 不会在未经用户许可的情况下共享用户电子邮件。

    【讨论】:

    • +1 用于指出“Facebook 未经用户许可不会共享用户电子邮件”
    • @KiranRS 但是在哪里以及如何?能否提供代码说明?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多