我们可以从Twitter oauth API获取电子邮件ID吗?

时间:2014-03-25 06:37:34

标签: php twitter twitter-oauth

如何获取接受我的Twitter应用程序的用户的电子邮件ID?

我经历了很多论坛。但是他们已经提到过,这是不可能的。这些帖子也超过一年。我可以知道是否可以使用PHP通过twitter API获取用户电子邮件ID?

我使用以下网址获取Twitter用户详细信息:

https://api.twitter.com/1.1/account/verify_credentials.json

6 个答案:

答案 0 :(得分:96)

现在可以通过填写表单来请求elevated permissions

  1. 转到https://support.twitter.com/forms/platform
  2. 选择"我需要访问特殊权限"
  3. 输入应用程序名称和ID。这些可以通过https://apps.twitter.com/获得 - 点击您的应用后,应用ID就是浏览器地址栏中的数字部分。
  4. 权限请求:"电子邮件地址"
  5. 提交&等待回应
  6. 在您的请求被授予后,您的Twitter应用程序中将添加一项添加权限设置"权限"部分。转到"其他权限"然后勾选"从用户请求电子邮件地址"。
  7. 的复选框

    请注意,必须验证用户的电子邮件地址,否则Twitter拒绝提供。 (请参阅elevated permissions doc页面中的 include_email 参数说明。)

答案 1 :(得分:34)

现在您可以从Twitter API获取用户电子邮件地址,这样会轻松得多。只需按照以下步骤操作......

  1. 转到Twitter Apps

  2. 点击“创建新应用”

  3. 填写所有必需的凭据,然后点击“创建您的Twitter应用程序”

  4. 现在点击“权限”标签 - >选中“从用户请求电子邮件地址”字段,然后单击“更新设置”。 (查看图片)

  5. 现在在您的PHP代码中,设置所有应用程序详细信息并添加此代码!

    $params = array('include_email' => 'true', 'include_entities' => 'false', 'skip_status' => 'true');

    $data = $connection->get('account/verify_credentials', $params); // get the data

    // getting twitter user profile details $twt_id = $data->id; //twitter user id $twt_email = $data->email; //twitter user email

  6. 全部完成。 希望它对你有所帮助,祝你好运。 ;)

    enter image description here

答案 2 :(得分:6)

现在可以从Twitter检索用户的电子邮件地址(当然,如果用户允许的话)。

您需要申请将您的应用程序列入白名单才能获得xAuth。

点击此处了解更多信息: https://dev.twitter.com/rest/reference/get/account/verify_credentials

答案 3 :(得分:3)

无法从Twitter获取用户的电子邮件地址。你可以看到它here。您可以在回调页面上打开表单页面,并在该页面上获取用户的电子邮件地址。您可以参考here作为示例用法

答案 4 :(得分:1)

以下是我在ASP.Net中使用linqtoTwitter库完成此操作的方法 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;

}

答案 5 :(得分:1)

是的,您可以获得电子邮件地址。现在可以通过填写一些权限来实现。

1.转到此链接:https://apps.twitter.com/

2.转到您创建的应用程序中的权限选项卡

3.在您的APP中选择添加权限复选框。

4.成功更新设置后,您可以从Twitter获取电子邮件地址。

如果在某些情况下您无法获取电子邮件地址,请检查您的Oauth Api请求网址。

您的请求网址应为以下类型:https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true