【问题标题】:Twitter Streaming API - Node.js returning unauthorised error (OAuth)Twitter Streaming API - Node.js 返回未经授权的错误 (OAuth)
【发布时间】:2013-04-02 18:54:08
【问题描述】:

我正在尝试使用 http.get 通过 OAuth 连接到 Twitters Streaming API,尽管我遇到了一个小问题。

脚本不断返回未经授权的

我正在使用的代码如下,谁能告诉我我是否遗漏了一些愚蠢的东西或者我的标题不正确。

var https = require('https');

var options = {
  host: 'stream.twitter.com',
  path: '/1.1/statuses/filter.json?track=bieber',
  method: 'GET',
  headers: {
      authorization: '
        OAuth 
        oauth_consumer_key      =   "", 
        oauth_nonce             =   "", 
        oauth_signature         =   "", 
        oauth_signature_method  =   "HMAC-SHA1", 
        oauth_timestamp         =   "", 
        oauth_token             =   "", 
        oauth_version           =   "1.0"
      '

  }
};

var req = https.request(options, function(res) {
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log(chunk);
  });
});

req.on('error', function(e) {
  console.log('Oops... ' + e.message);
});

req.write('data\n');
req.write('data\n');
req.end();

【问题讨论】:

  • 你在 httpss:// 中多了一个s,另外,你的宿主错了,例子见nodejs.org/api/http.html#http_http_request_options_callback
  • 我的请求现在可以工作,但我现在得到未经授权,我的 OAuth 标头是否正确?
  • 所有实际的标头信息在哪里?
  • 出于安全考虑,我将其删除,不确定是否需要删除。
  • 不需要,不要不要贴在这里,确保有效

标签: node.js http twitter oauth twitter-oauth


【解决方案1】:

我遇到的问题是 OAuth 请求没有被签名,这说明授权失败。

OAuth 是一个复杂的过程,最好使用已经开发好的库或 NPM 模块。

我在这个例子中使用的特定 NPM 是 node-oauth

【讨论】:

  • 你看过ntwitter吗?照顾一切:)
  • 我希望项目尽可能保持原样:-)!
  • 太好了,现在你应该接受你的答案是正确的,这样未来的访问者就会知道它确实对你有用:)
  • 我只能明天做!会解决的:-)
【解决方案2】:

试试这个:

var options = {
  host: 'stream.twitter.com',
  path: '/1.1/statuses/filter.json?track=bieber',
  method: 'GET',
  auth : "YOUR_ID:YOUR_PASS"
};
var https  = require('https');
https.get(options,function(res){
   res.on("data",function(trunk){
        //YOUR CODE
   }).on("end",function(){
        //YOUR CODE
   }).on("error",function(e){
        //YOUR CODE
   });
}

【讨论】:

    猜你喜欢
    • 2013-08-22
    • 1970-01-01
    • 2016-12-24
    • 2014-03-08
    • 2017-10-16
    • 1970-01-01
    • 2015-09-15
    • 2012-04-08
    • 1970-01-01
    相关资源
    最近更新 更多