我是Meteor的新手,也是Twitter API的初学者。我正在Meteor中创建一个简单的应用程序,仅用于演示目的。我需要能够在Twitter上搜索特定的标签。我只需要能够使用该主题标签获取推文并将其显示在列表中。超级简单。
我已经注册了我的应用程序,收到了密钥等。我只需要看一下从Oauth开始到接收Twitter搜索结果的代码流示例。
我将在本地运行此应用程序,只需要能够发送GET请求并收到RESTful响应。
我见过有关如何因安全风险而不支持jQuery的文档。由于我的后端是JS,我需要能够用JS做到这一点。
有人可以建议我可以在哪里看到代码示例的文档吗?
答案 0 :(得分:3)
自Twitter API的v1.1(可能是2013年)以来,未经OAuth授权就无法进行搜索。
如果您想以简单的方式对客户端进行操作,则可能需要使用OAuth.io。
我刚刚使用Twitter API <{3}}进行简单搜索
代码非常简单:
//Initialize the SDK with my OAuth.io public key, then display the OAuth authorization form
OAuth.initialize('YOUR-PUBLIC-KEY')
OAuth.popup('twitter', function(err, twitter) {
var search = encodeURIComponent("@oauth.io")
twitter.get('/1.1/search/tweets.json?q=' + search)
.done(function(data) {
console.log(data); //your search results are in data
})
})
答案 1 :(得分:2)
好问题。你是对的,Twitter 1.1 API requires oAuth tokens even for simple GET请求就像你需要的那样。是的,从twitter dev site请求oAuth密钥和秘密对于本地运行的项目来说似乎有点过分,但是每个API端点都需要它。
拥有oAuth使用者密钥和密钥后,您就可以进行API调用了。 Twitter开发网站上的偶然谷歌搜索表明,出于安全原因,Twitter不支持通过JQuery发送oAuth信誉。您可以阅读有关here的更多信息。
我不确定你需要对Twitter数据做什么,所以我没有为oAuth嵌入任何代码示例。与此同时,在考虑如何实施解决方案时,请查看how oAuth works。 PHP?蟒蛇?红宝石?也许这些oAuth code samples from Twitter是一个很好的起点?
答案 2 :(得分:1)
有一个陨石图书馆旨在解决这个问题。
https://github.com/subhog/meteor-twit
您可以按照文档使用:
https://github.com/ttezel/twit
下面是一些示例代码:
if (Meteor.isServer) {
Meteor.methods({
twit_get: function() {
Twit = new TwitMaker({
consumer_key: 'foo',
consumer_secret: 'foo',
access_token: 'foo',
access_token_secret: 'foo'
});
Twit.get(
'search/tweets',
{
q: 'banana since:2013-12-11',
count: 10
},
function(err, reply) {
console.log(reply);
});
}
});
}