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

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

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

我使用以下URL获取Twitter用户的详细信息:

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

现在可以通过填写表单来请求提升权限 :

  1. 转到https://support.twitter.com/forms/platform
  2. select“我需要访问特殊权限”
  3. input应用程序名称和ID。 这些可以通过https://apps.twitter.com/获得; – 应用程序ID是单击您的应用程序后浏览器的地址栏中的数字部分。
  4. 权限请求:“电子邮件地址”
  5. 提交并等待回复
  6. 在您的请求被授予后,添加权限设置被添加到您的Twitter应用程序的“权限”部分。 转到“其他权限”,只需勾选“请求用户的电子邮件地址”checkbox。

请注意,用户的电子邮件地址必须经过validation,否则Twitter拒绝提供。 (请参阅提升的权限文档页面中的include_email参数描述。)

现在,您可以从Twitter API获取用户的电子邮件地址,这很容易。 只要按照这些步骤…

  1. 转到Twitter应用程序

  2. 点击“创build新的应用程序”

  3. 填写所有必需的凭据,然后点击“创build您的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

全做完了。 希望它能帮助你,祝你好运。 ;)

在这里输入图像说明

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

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

点击这里查看更多信息: https : //dev.twitter.com/rest/reference/get/account/verify_credentials

从twitter获取用户的电子邮件地址是不可能的。 你可以在这里看到它。 您可以在回叫页面上打开表单页面,并在该页面上获取用户的电子邮件地址。 你可以参考这里例如用法

是的,你可以得到电子邮件地址。现在可以通过填写一些许可。

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

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

3.在您的APP中select添加权限checkbox。

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

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

您的请求url应该是以下types: https : //api.twitter.com/1.1/account/verify_credentials.json?include_email = true

以下是我如何使用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; }