如何使用Hybridauth获取Twitter用户的电子邮件?

时间:2012-12-29 08:29:35

标签: php twitter hybridauth hybridauthprovider

任何机构都可以帮助如何获取Twitter电子邮件 我在php codeigniter中使用此link我在这里获取除电子邮件之外的信息。 然后如何获取电子邮件? 是否我们在配置文件中指定了任何范围?

4 个答案:

答案 0 :(得分:8)

你不能。

Twitter API无法访问用户的电子邮件地址


这是来自Twitter员工的response to this same question

  

API不会向您返回电子邮件地址。如果您对用户的电子邮件地址感兴趣,则必须在自己的应用程序中将用户视为完全不同的行为。

答案 1 :(得分:5)

我回答这个问题已经晚了几年,但无论如何我都会回答这个问题。

你可以!!!

检查已解决此问题的link并回答。

  • 基本上,您首先需要通过提供隐私政策网址和条件条款来获取Twitter开发者帐户的提升权限。

  • 获得twitter dev支持的电子邮件访问权限后,请应用此步骤。

    /public_html/application/config/hybridauthlib.php

并将"includeEmail" => true添加到Twitter提供商。

"Twitter" => array (
"enabled" => true,
"keys" => array ( "key" => "Your_Twitter_App_Key", "secret" => "Your_Twitter_Secret_Key" ),
"includeEmail" => true,
)

答案 2 :(得分:1)

现在应该可以。首先,将您的应用列入白名单。

https://support.twitter.com/forms/platform70 [我在应用网址的github中为DEMO LINK和我的应用网址添加了一个youtube链接],然后点击了“提交”按钮。

接下来,您将收到来自Twitter的第一封电子邮件(如果您没有收到来自Twitter的电子邮件,重新填写表格并再次发送),说“谢谢你伸出援助之手”。几个小时之后,你会收到第二封电子邮件说该网址应用已列入白名单。

一旦他们说您的应用已列入白名单,请在Twitter开发人员门户中更新您的应用设置。登录apps.twitter.com并:

在“设置”标签上,添加服务条款和隐私权政策网址 在“权限”标签上,更改令牌的范围以请求电子邮件。只有在您的应用程序列入白名单后,才会看到此选项。

接下来,您可能需要在https://apps.twitter.com中重新生成访问令牌。并使用https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true来获取用户的电子邮件地址

答案 3 :(得分:0)

我使用的是CodeIgniter版本的HybridAuth库,并在此文件中

  

应用程序/应用/ THIRD_PARTY / hybridauth /混合/提供者/ Twitter.php

修改此行

$response = $this->api->get( 'account/verify_credentials.json' );

到下面的

$response = $this->api->get( 'account/verify_credentials.json',['include_entities' => 'true', 'skip_status' => 'true', 'include_email' => 'true'] );

另外,在返回用户个人资料

之前添加了以下行
$this->user->profile->email      = (property_exists($response,'email'))?$response->email:"";

并开始接收电子邮件ID