【问题标题】:Get user's email address from Twitter with C# and OAuth使用 C# 和 OAuth 从 Twitter 获取用户的电子邮件地址
【发布时间】:2016-10-12 00:04:57
【问题描述】:

我现在在 Twitter 上将我的应用列入白名单,以便在他们登录时能够获取他们的电子邮件地址,并且我使用 TweetSharp 作为我的库来验证用户,但我看不到将参数传递给的方法使用该库请求他们的电子邮件地址。我知道这是一个旧库,并且我认为请求用户的电子邮件相对较新,所以如果不挖掘源代码、更新它并重新编译程序集,可能是不可能的?

如果有人能够使用 TweetSharp 完成此任务,请告诉我。

TIA

【问题讨论】:

    标签: c# .net twitter oauth tweetsharp


    【解决方案1】:

    Tweetinvi 支持电子邮件。

    var authenticatedUser = User.GetAuthenticatedUser();
    var email = authenticatedUser.Email;
    

    您可以在 github 上找到该项目:https://github.com/linvi/tweetinvi

    【讨论】:

      【解决方案2】:

      在深入挖掘了 TweetSharp 的源代码之后,我在层层层层地迷失了方向……就像试图在 20 个干草堆中找一根针一样。我很欣赏 Tweetinvi Linvi 的链接,但我决定今晚锻炼一下我的大脑,看看我是否可以从头开始写。

      我花了一些时间查看我在 Twitter 上可以找到的内容,他们执行 OAuth 的方式非常时髦。然后我找到了一个处理 OAuth 的 PHP 解决方案,并对其进行了一些调整以使其返回电子邮件地址。有了这些,我将 PHP 翻译成 C#,并在我自己的家庭解决方案中完成了所有工作。

      我刚刚在这里发布了我的工作解决方案:http://www.burritostand.com/log-in-to-twitter-with-oauth-and-c-sharp-and-get-twitter-user-email

      它需要进行一些重大的重构以使其成为具有生产价值的实现,但我认为它可能对其他人有用,因为它非常清楚地分解了不同的过程。希望其他人可以使用它。

      关键部分(用于检索电子邮件)在 TwitterClient 类中,在参数列表中:

              TwitterUrls TwitterUrls = new TwitterUrls("https://api.twitter.com/1.1/account/verify_credentials.json");
              List<KeyValuePair<string, string>> Parameters = new List<KeyValuePair<string, string>>();
              Parameters.Add(new KeyValuePair<string, string>("include_email", "true")); // this is the important part for getting the email returned
              Parameters.Add(new KeyValuePair<string, string>("oauth_consumer_key", ConsumerKey));
              Parameters.Add(new KeyValuePair<string, string>("oauth_nonce", Nonce));
              Parameters.Add(new KeyValuePair<string, string>("oauth_signature_method", "HMAC-SHA1"));
              Parameters.Add(new KeyValuePair<string, string>("oauth_timestamp", timestamp));
              Parameters.Add(new KeyValuePair<string, string>("oauth_token", dict["oauth_token"]));
              Parameters.Add(new KeyValuePair<string, string>("oauth_version", OAuthVersion));
      

      感谢您的回答,今晚回到 PHP 确实很开心……时间很长 :)

      【讨论】:

        猜你喜欢
        • 2011-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        • 2016-01-22
        • 2013-05-08
        • 2016-02-09
        • 2016-04-15
        相关资源
        最近更新 更多