Twitter API 1.1 Oauth w / Meteor

时间:2013-12-22 05:09:22

标签: twitter meteor

我是Meteor的新手,也是Twitter API的初学者。我正在Meteor中创建一个简单的应用程序,仅用于演示目的。我需要能够在Twitter上搜索特定的标签。我只需要能够使用该主题标签获取推文并将其显示在列表中。超级简单。

我已经注册了我的应用程序,收到了密钥等。我只需要看一下从Oauth开始到接收Twitter搜索结果的代码流示例。

我将在本地运行此应用程序,只需要能够发送GET请求并收到RESTful响应。

我见过有关如何因安全风险而不支持jQuery的文档。由于我的后端是JS,我需要能够用JS做到这一点。

有人可以建议我可以在哪里看到代码示例的文档吗?

3 个答案:

答案 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);
                });
        }
    });
}