【问题标题】:Manual Twitter REST API Authentication手动 Twitter REST API 身份验证
【发布时间】:2011-06-18 16:23:48
【问题描述】:

基本上我想使用 Twitter 用户查找 (REST API) 方法,这个: http://apiwiki.twitter.com/w/page/24142947/Twitter-REST-API-Method:-users-lookup

但仅针对一个请求,因此手动操作更少。

当 API 支持基本身份验证时,我可以插入我的用户名/密码并收集有关在给定主题/搜索上发推文的人的信息(关于他们有多少关注者、位置等 - 主要是为了达到/ROI 目的)。我只是请求 XML,对其进行格式化并将其推入一个 excel 文件中以供使用。

由于 Twitter 不再支持使用此方法进行基本身份验证,是否有另一种方法可以手动请求此信息,或者我是否真的需要设置 oAuth?

还有其他更简单的选择吗?

【问题讨论】:

    标签: oauth twitter restful-authentication


    【解决方案1】:

    如果您不想进行任何编程而只是在浏览器中输入一个 URL,您可以使用 /users/show 一次执行一个用户:

    http://api.twitter.com/1/users/show.xml?screen_name=barackobama

    这不需要任何身份验证。如果您想使用 /users/lookup 一次获取多个用户,则必须编写使用 OAuth 的代码。

    【讨论】:

    • 我害怕那个;仍然很有用,您可以一次查找一个用户(如果对 Twitter 来说有点适得其反)。您是否有任何关于我如何最好地实施简单的 oAuth 设置的信息?我真的更喜欢使用完全客户端的东西,但我有可以托管服务器端解决方案的地方。
    【解决方案2】:

    我使用LINQPad 进行所有推特探索;它只是我用来执行任何代码的最佳工具之一。它是一个免费的实用程序(如果您想要语句自动完成和其他一些漂亮的功能,您只需要付费,但您并不需要它们)。如果您不运行 Windows,那么这对您没有多大用处,但如果您有一个可以使用的 Windows 机器,那么使用 LINQPad 提供的Dump() 方法的能力只是一个巨大的节省时间。

    使用 LINQPad

    首先,您必须在 Twitter 上注册一个应用程序。 Adam 在他的回答中写了一篇关于在dev.twitter.com 上设置您的应用程序的非常好的文章。

    获得 OAuth 令牌后,下载并安装 LINQPad 和 .NET Framework 4.0(如果您还没有的话。)

    接下来获取 Twitterizer,这是一个很棒的 .NET Twitter 库。我在这个例子中使用版本2.3.1。将 ZIP 文件解压缩到您以后可以参考的位置。现在我们可以开始了。

    启动 LINQPad,点击 Query 1 窗口,将 Language 更改为 C# Statements

    接下来按F4 打开查询属性。在 Additional References 选项卡上,单击 Browse... 并在您之前提取它的位置找到 Twitterizer2.dll

    现在,点击 Additional Namespace Imports 选项卡并在窗口中输入Twitterizer,如下所示:

    现在点击确定,我们就可以编写查询了。

    在查询 1 窗口中,输入以下代码:

    OAuthTokens tokens = new OAuthTokens();
    tokens.ConsumerKey = "YourConsumerKey";
    tokens.ConsumerSecret = "YourConsumerSecret";
    tokens.AccessToken = "YourAccessToken";
    tokens.AccessTokenSecret = "YourAccessSecret";
    
    TwitterUser.Lookup(
      tokens, 
      new LookupUsersOptions { 
        ScreenNames={"arcain","dotnetdevbuzz"}, IncludeEntities=true 
      }
    ).Dump(); // the magic happens here!
    

    现在按 F5 执行查询,然后关闭 LINQPad 转到 Twitter 以获取您的结果。

    使用Dump() 的结果格式很好,并且无需显式引用任何内容即可呈现整个对象,如下所示:

    然后您可以单击导出结果以导出到 Excel、Word 或仅 HTML,尽管您可能希望直接引用某些对象字段来定位您的报告数据。

    哦,您几乎可以将Dump() 应用于任何东西,因此它是对任何工具箱的一个很好的补充。无论如何,我希望你能利用它,因为我发现它可以节省时间。


    我完成了上述操作,然后想起了 Twitter 开发控制台 Twurl。 Twurl 是一个简单的控制台,可从 dev.twitter.com 上的 Apps 选项卡获得。可以通过页面右侧的链接找到它:

    现在,如果不是 broken,而是 still is,Twurl 会很棒。所以,下一个最好的事情(如果你仍然想要一个替代 LINQPad 的 webby 控制台)将使用像 apigee.com 这样的免费服务,它也支持 OAuth。

    【讨论】:

    • 谢谢!偶然地,您的一个链接将我带到了:app.apigee.com/console,它基本上可以满足我的需求,包括 oauth 身份验证!对于像我这样微不足道的 API 需求来说非常酷。
    猜你喜欢
    • 2012-10-19
    • 2013-06-16
    • 2017-12-15
    • 2019-03-31
    • 2018-07-26
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多