在获取 OAuth 的请求令牌流时,我收到“给定的 URL 被视为恶意软件" [英] In getting request token flow of OAuth, I've received "The given URL is considered malware"

查看:61
本文介绍了在获取 OAuth 的请求令牌流时,我收到“给定的 URL 被视为恶意软件"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm creating web application with node.js(10.x) and express(3.x).
And I chose the node-oauth as the twitter oauth module.

但是在请求Token时,返回如下错误.

But in requesting Token, following error is returned.

{ 状态代码:401,data: '<?xml version="1.0" encoding="UTF-8"?>\n\n <request>/oauth/request_token</request>\n 给定的 URL 被认为是恶意软件</error>\n</hash>\n' }

{ statusCode: 401, data: '<?xml version="1.0" encoding="UTF-8"?>\n\n <request>/oauth/request_token</request>\n <error>The given URL is considered malware</error>\n</hash>\n' }

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

Authentications have succeeded in several times, but suddenly this error was sent and after that I've never succeeded.

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

What's wrong? Many times requests is the cause?

代码如下

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('/');
      }
    });
});

谢谢

推荐答案

Ken,您的错误消息说明了问题所在.您尝试连接到 Twitter 的此节点应用程序/站点已被标记为恶意软件或垃圾邮件.可能是因为请求太多.或者,您可能在不知不觉中滥用了 Twitter 帐户.

Ken, your error message explains the problem. This node app/site from which you try to connect to twitter has been flagged as malware or spam. Maybe because it is because of too many requests. Or maybe you unknowingly misused the twitter account.

您可以提交工单以调查出了什么问题.请参阅此页面.

You can file a ticket to investigate what went wrong. See this page.

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

这篇关于在获取 OAuth 的请求令牌流时,我收到“给定的 URL 被视为恶意软件"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆