如何获取接受我的Twitter应用程序的用户的电子邮件地址?
我浏览了很多论坛,但是它们都提到这是不可能的。此外,这些帖子已经超过一年了。请问是否可以使用PHP通过Twitter API获取用户电子邮件地址?
我正在使用以下URL获取Twitter用户详细信息:
如何获取接受我的Twitter应用程序的用户的电子邮件地址?
我浏览了很多论坛,但是它们都提到这是不可能的。此外,这些帖子已经超过一年了。请问是否可以使用PHP通过Twitter API获取用户电子邮件地址?
我正在使用以下URL获取Twitter用户详细信息:
现在可以通过填写表格申请提升权限来实现:
请注意,用户电子邮件地址必须经过验证,否则Twitter将拒绝提供它。(请参阅提升权限文档页面中的include_email参数描述。)
现在你可以从Twitter API中获取用户电子邮件地址,而且这变得更加容易了。只需按照以下步骤操作...
进入 Twitter Apps
点击“创建新应用程序”
填写所有必要的凭据,并点击“创建你的Twitter应用程序”
现在点击“权限”选项卡 -> 选中“请求用户的电子邮件地址”字段并单击“更新设置”。(参见下面的图片)
现在在 PHP 代码中,设置所有应用程序详细信息并添加此代码!
$params = array('include_email' => 'true', 'include_entities' => 'false', 'skip_status' => 'true');
$data = $connection->get('account/verify_credentials', $params); // 获取数据
// 获取 Twitter 用户配置文件详细信息
$twt_id = $data->id; //Twitter 用户 id
$twt_email = $data->email; //Twitter 用户电子邮件
全部完成。 希望对您有所帮助,祝您好运。 ;)
$connection->get('account/verify_credentials', ['include_email' => true])
返回的字段向下滚动,因为它位于底部。 - agm1984现在,如果用户允许,可以从Twitter中获取用户的电子邮件地址。
您需要申请将应用程序加入白名单以接收xAuth。
更多信息请查看此处: https://dev.twitter.com/rest/reference/get/account/verify_credentials
以下是我使用linqtoTwitter库在ASP.Net中完成此操作的方法:
http://www.bigbrainintelligence.com/Post/get-users-email-address-from-twitter-oauth-ap
// call verify credentials api
var twitterCtx = new TwitterContext(authTwitter);
var verifyResponse =
await
(from acct in twitterCtx.Account
where (acct.Type == AccountType.VerifyCredentials) && (acct.IncludeEmail == true)
select acct)
.SingleOrDefaultAsync();
if (verifyResponse != null && verifyResponse.User != null)
{
User twitterUser = verifyResponse.User;
//assign email to existing authentication object
loginInfo.Email = twitterUser.Email;
}