npm Twitter 库未进行身份验证?

npm Twitter library not authenticating?

我有这个代码

var Twitter = require('twitter');

var client = new Twitter({

        consumer_key: process.env.TWITTER_CONSUMER_KEY,
        consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
        access_token_key: process.env.TWITTER_ACCESS_KEY,
        access_token_secret: process.env.TWITTER_ACCESS_SECRET,
});


client.post('status/update', {status: 'Test'}, function(error,params,response){
    if(error) throw;
    console.log(params);
    console.log(response);
});

但是当我 运行 节点 tweet.js

时它一直给我这个
if(error) throw;
               ^
SyntaxError: Unexpected token ;
  at Module._compile (module.js:439:25)
  at Object.Module._extensions..js (module.js:474:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Function.Module.runMain (module.js:497:10)
  at startup (node.js:119:16)
  at node.js:929:3

我 100% 确定我的环境变量是正确的,并且与他们在我的开发者推特上所说的完全一致。所以我不确定这里的问题是什么,甚至不知道如何解决它!

修复语法错误并将该行更改为 throw error; 后,新问题是现在这个

    if(error) throw error;
                    ^
    [object Object]

client.post

尝试以下代码
client.post('status/update', {status: 'Test'}, function(error,params,response){
    if(error) throw error;
    console.log(params);
    console.log(response);
});

其实你忘记了 throw error。所以出现语法错误。

error 在您的情况下不是标准的 javascript Error 对象,因此不能以这种方式抛出,您可以检查 error 对象的值和查看它包含的内容并通过 if 语句您可以处理您的操作,或者您可以通过发出 throw 'OMG!';

来抛出客户错误