We are about to switch to a new forum software. Until then we have removed the registration on this forum.
this is my code(bot.js) var Twit = require('twit'); var config = require('./config.js'); var T = new Twit(config);
T.post('statuses/update', { status: 'hello world!' }, function(err, data, response) { if(err){ console.log(data);} else { console.log("it worked"); } });
second file(config.js)- sorry cannot share below information
module.exports={
consumer_key:
consumer_secret:
access_token:
access_token_secret:
};
Note: I have tried everything, searched for answers on StackOverflow, deleted node_js modules and reinstalled it and also regenerated keys and tokens several times but failed every time and now it is getting frustrated. I am not able to post anything on twitter. can somebody help me?
Answers
Edit your post (gear icon in the top right corner of your post), select your code and hit ctrl+o to format your code. Make sure there is an empty line above and below your code.
Where are you getting your code from?
You can check Shiffman's repo about bots: https://github.com/Codingrainbow/Rainbow-Code/tree/master/bots
and the Twitter API: https://dev.twitter.com/rest/public
Kf
Bad Authentication data::
This means your authentication fails. Maybe you have a typo in your api key or formatted it wrong
what do you mean by 'authentication failed' ?
you are effectively logging in using your credentials.
something is wrong, your 'username' and/or 'password' aren't what the server expects. so access is denied.
hey man, I just made another twitter account, new application, new key, and tokens and rewritten entire code and it still did not work and I am getting the same error and my entire code for posting tweets is:
console.log('The bot is starting');
var Twit = require('twit');
var config = require('./config'); var T = new Twit(config);
var tweet = { status: '#codingrainbow from node.js' };
T.post('statuses/update', tweet, tweeted);
function tweeted(err, data, response) { if (err) { console.log("Something went wwrong!"); } else { console.log("It worked!"); } }
error which I am getting is:
{ Error: Bad Authentication data. at Object.exports.makeTwitError (C:\Users\welcome\Desktop\atom
projects\node_modules\twit\lib\helpers.js:74:13) at onRequestComplete (C:\Users\welcome\Desktop\atom
projects\node_modules\twit\lib\twitter.js:328:25) at Request. (C:\Users\welcome\Desktop\atom
projects\node_modules\twit\lib\twitter.js:348:7) at emitOne (events.js:101:20) at Request.emit (events.js:188:7) at Gunzip. (C:\Users\welcome\Desktop\atom
projects\node_modules\request\request.js:1091:12) at Gunzip.g (events.js:292:16) at emitNone (events.js:91:20) at Gunzip.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickCallback (internal/process/next_tick.js:104:9) message: 'Bad Authentication data.', code: 215, allErrors: [ { code: 215, message: 'Bad Authentication data.' } ], twitterReply: { errors: [ [Object] ] }, statusCode: 400 }
edit post, highlight code, press ctrl-o to format your post.
does this work with your config.js?
https://github.com/shiffman/A2Z-F16/blob/gh-pages/week4-twitter/02_basic_bot/bot.js
hey man, I just made another twitter account, new application, new key, and tokens and rewritten entire code and it still did not work and I am getting the same error and my entire code for posting tweets is:
error which I am getting is:
I have copied and pasted the page which you have suggested and still, I am getting the same error.
it works here, using your code from two posts above this one.
i had to generate a new app here: https://apps.twitter.com/ which gave me the consumer values AND THEN generate access tokens which gave me the other two.
i ran the bot using
nodejs bot.js
from the command line. no Processing involved.
i used version 6.11.0 of node. linux.
but It is still not working.
Hey, man thanx for replying but why is it not working for me? I have tried almost everything what you have mentioned. What should I do? btw, This my another code for searching tweets and it is also showing some error-
this is showing following error-
errors: [ { code: 89, message: 'Invalid or expired token.' } ] }
Do you think the problem might be in node_modules or package.JSON file or with OAuth authentication?
Can you post your package.json content?
Kf
I didn't even use a package.json file. Although doesn't it contain dependencies? Could be useful for debugging i guess.
I used the exact code you posted so it's not that. It could be the keys, operating system or node infrastructure. But all of that is off-topic on the processing forum and you might get more help somewhere more node-specific.
I assume the twit library is doing the oauth dance for you. I only used the exact code you posted, nothing else.
Finally, the code ran. There was one 'shitty' character space between access token and end string. Thank you guys for responding. :):)
Great is working and thxs for commenting about your problem.
Kf