oauth - 手动 Twitter REST API 身份验证

标签 oauth twitter restful-authentication

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

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

当 API 支持基本身份验证时,我可以只插入我的用户名/密码并收集有关在给定主题/搜索上发推的人的信息(关于他们有多少关注者、位置等 - 主要用于覆盖面/投资返回率目的) ).我只需要请求 XML,对其进行格式化并将其插入 excel 文件中即可使用。

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

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

最佳答案

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

使用 LINQPad

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

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

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

启动 LINQPad,单击查询 1 窗口,并将语言更改为C# 语句

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

Adding a reference to Twitterizer2.dll in LINQPad

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

Adding a reference to Twitterizer in LINQPad

现在单击“确定”,我们可以编写查询了。

在查询 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() 的结果格式很好,整个对象无需显式引用任何内容即可呈现,如下所示:

Results from calling Twitter using LINQPad and Twitterizer

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

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


我完成了以上,然后想起了 Twitter 开发控制台,Twurl。 Twurl 是一个基本的控制台,可从 Apps 获得。 dev.twitter.com 上的标签。可以通过页面右侧的链接找到它:

Link to the Twurl Console

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

关于oauth - 手动 Twitter REST API 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4852906/

相关文章:

ruby-on-rails - 在 Ruby on Rails Restful Authentication 中,为什么 current_user 检查 HTTP 用户名和密码?

javascript - SoundCloud JS 身份验证

oauth - 要求 Google 返回电子邮件地址作为 OAuth 的一部分

WCF 4.0 REST 用户名密码认证

java - RESTful 身份验证 - 在高负载下导致性能不佳?

java - 我可以请求/过滤 twitter streaming api 以仅返回带有地理标签的推文吗?

node.js - 需要帮助使用 nodejs 设置 reddit oauth

ios - RestKit Oauth 2 谷歌 API

安卓推特应用 : suspended (exception( Twitter Exception))

ruby-on-rails - 为 Twitter 设计,Cookie 溢出错误?