电子邮件范围问题/电子邮件地址为';t已发送我的请求


Email scope problem / email address isn't sent in /me request

我使用的是PHP SDK 3.1,从/me请求中检索电子邮件时遇到问题。我的范围看起来像:

protected $scope = 'email,offline_access,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown';

我的网址是:

$this->fb->getLoginUrl(array('scope' => $this->scope));

其中$this->fb是一个Facebook实例。

问题是当我呼叫时

$userProfile = $this->fb->api('/me');

变量$userProfile包含大量数据,但没有电子邮件。几天前它起了作用,但不知怎么就停止了。

我该怎么办才能收到电子邮件?

谢谢你的建议。

我使用相同的工具包和以下工具,效果很好。user_about_me应该不是必需的。

$loginUrl = $facebook->getLoginUrl( array('scope' => 'user_about_me,email' ) );

Nota:如果你没有提前授予权限,请尝试为用户重新授权应用程序。

$this->fb->getLoginUrl(array('req_perms' => 'email'))

应该工作,但请记住,您只能获得连接的用户电子邮件,而不能获得他的朋友的电子邮件