在获取OAuth的请求令牌流时,我收到“给定的URL被视为恶意软件”

时间:2013-04-06 03:38:36

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

我正在使用node.js(10.x)和express(3.x)创建Web应用程序 我选择了node-oauth作为twitter oauth模块。

但是在请求令牌时,会返回以下错误。

  

{statusCode:401,     数据:'<?xml version =“1.0”encoding =“UTF-8”?> \ n \ n< request> / oauth / request_token< / request> \ n<错误>给定的网址被视为恶意软件< ; / error> \ n< / hash> \ n'}

身份验证已成功多次,但突然发送了此错误,之后我从未成功过。

怎么了? 很多时候请求是原因?

代码如下

var oauth = require('oauth');

var consumer = new oauth.OAuth(
    'https://api.twitter.com/oauth/request_token'
  , 'https://api.twitter.com/oauth/access_token'
  , 'My consumer key'
  , 'My consumer secret'
  , '1.0A'
  , 'http://localhost:3000/sessions/access' //I'm testing in local
  , 'HMAC-SHA1'
);

/** In the actual code, Some express settings exist like followings
 *  var express = require('express');
 *  var app = express();
 *  app.set(foo, bar);
 *  app.use(baz);
 *   and so on.
 */

app.get('/sessions/connect', function(req, res, next) {
    consumer().getOAuthRequestToken(function(err, oauthToken, oauthTokenSecret, results) {
      if (err) {     //This err says the above error.
        next(err);
      } else {
        req.session.oauthRequestToken = oauthToken;
        req.session.oauthRequestTokenSecret = oauthTokenSecret;
        res.redirect('https://api.twitter.com/oauth/authorize?oauth_token=' + oauthToken);
      }   
    }); 
  });

app.get('/sessions/access', function(req, res, next) {
    consumer().getOAuthAccessToken(req.session.oauthRequestToken, req.session.oauthRequestTokenSecret, req.query.oauth_verifier, function(err, oauthAccessToken, oauthAccessTokenSecret, results) {
      if (err) {
        next(err);
      } else {
        req.session.oauthAccessToken = oauthAccessToken;
        req.session.oauthAccessTokenSecret = oauthAccessTokenSecret;
        req.session.user_id = results.user_id;
        req.session.isAuthorized = true;
        res.redirect('/');
      }
    });
});

由于

1 个答案:

答案 0 :(得分:2)

Ken,您的错误消息解释了该问题。您尝试连接到Twitter的此节点应用/站点已被标记为恶意软件或垃圾邮件。也许是因为这是因为请求太多了。或者你可能在不知不觉中误用了推特账号。

您可以提交票证以调查出错的地方。见本页。

https://support.twitter.com/articles/90491-my-website-is-being-flagged-as-malware-or-spam