通过twitter api 1.1获取公共推文,通过客户端代码(js)

时间:2012-10-24 19:35:21

标签: javascript jquery twitter jsonp

我正在开发一个基本的个人主页,包含一个单独的html文档,一个.css和jquery * .js文件。我想通过从推文中获取页面内容来创建博客。标准小部件不适合页面外观。

我可以通过API v1从没有身份验证垃圾的任何帐户中获取公共推文(因为它无论如何都是公共数据)。但是使用API​​ v1.1,它会返回身份验证错误。它希望我进行身份验证以获取公共数据。尝试浏览this网址。它显示({"errors":[{"message":"Bad Authentication data","code":215}]});

我的问题是有没有办法通过客户端js 获取公开推文?我不想创建一个只需获取公共数据的应用程序。我不想使用identi.ca或者其他,但Twitter推动我这样做。


Zachary Kinebel对Norguard的回答发表评论时,我认为,作为Norguard的评论可能对其他人有帮助,我应该把它放在这里:


/search.json?q=from:nerdswguitars === NerdsWGuitars最近发布的推文/search.json?q=to:nerdswguitars ===最近推文给NerdsWGuitars /search.json?q=from:nerdswguitarsto:nerdswguitars ===两者。 /search.json?q=@nerdswguitars ===涉及NerdsWGuitars的帖子。 /search.json?q=#nerdswithguitars ===发布趋势“nerdswithguitars”。但是你必须确保你正确地对查询进行URL编码。在这里阅读更多内容:https://dev.twitter.com/docs/using-search如果您无法找到您正在寻找的内容,那么您需要更加具体,

2 个答案:

答案 0 :(得分:10)

修改

在糟糕创意的奇妙世界中,截至2013年5月,Twitter正在落后于这个答案,并且至少要求您使用其中一个小部件,并将其装入或者设置应用程序并进行应用程序级身份验证,即使对于公共时间线GET请求也是如此。

如果他们改变主意,或延迟投掷开关,这至少会继续存在。


使用搜索API:

"http://search.twitter.com/search.json?q=nerdswguitars"

您可以在搜索字词前使用网址编码的#@。您还可以使用fromto等关键字,并指定限制等。

答案 1 :(得分:6)

您可以使用Mooch这个旨在解决此问题的小型应用程序。设置新的 Mooch 服务非常简单,并使用Heroku。该 部署过程需要Heroku Toolbelt应用程序。

第1步:创建Twitter应用

第2步:获取 Mooch

  • 克隆Git存储库(git clone git@github.com:eloquent/mooch.git)。
  • 转到 Mooch 根目录。

第3步:创建Heroku应用

  • 使用Heroku Toolbeltheroku login
  • 登录
  • 使用heroku create创建新应用。

第4步:配置

Mooch 使用application-only authentication方法对Twitter API的请求进行身份验证。这需要消费者的密钥和秘密 在第1步中创建的Twitter应用程序。

验证配置示例

heroku config:set MOOCH_CONSUMER_KEY=xvz1evFS4wEEPTGEFPHBog
heroku config:set MOOCH_CONSUMER_SECRET=L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg

第5步:部署

  • git push heroku master

新的 Mooch 服务现在应该可以使用了。检查Heroku dashboard以获取服务的位置。

有关更详细的配置说明,演示应用程序等,请查看GitHub上的Mooch README