TwitterJSClient
TwitterJSClient copied to clipboard
Can't send new direct messages
I believe that this is an OAuth implementation problem because this task works correctly when done with twitter.
I know that the tokens, etc. are correct because I used them to properly view my direct messages.
Error:
URL [https://api.twitter.com/1.1/direct_messages/new.json?screen_name=jessdawess&text=This%20is%20a%20test]
ERROR: [object Object]
RESPONSE: [object Object]
BODY: {"errors":[{"code":32,"message":"Could not authenticate you."}]}
Source:
var Twitter = require("twitter-node-client").Twitter;
var config = {
"consumerKey": process.argv[2],
"consumerSecret": process.argv[3],
"accessToken": process.argv[4],
"accessTokenSecret": process.argv[5],
"callBackUrl": process.argv[6]
};
var twitterClient = new Twitter(config);
twitterClient.postCustomApiCall('/direct_messages/new.json', {
screen_name: process.argv[7],
"text": "This is a test"
}, error, success);
function error(error, response, body) {
console.log("ERROR: " + error);
console.log("RESPONSE: " + response);
console.log("BODY: " + body);
}
function success(response) {
console.log("RESPONSE: " + response);
}
It's due to a problem in the postCustomApiCall, see #37
Here's my working code:
const path = require('path');
const config = require('../data/twitter_config.json');
const TWITTER_BASE_URL = 'https://api.twitter.com/1.1';
const Twitter = require('twitter-node-client').Twitter;
const twitter = new Twitter(config);
//Callback functions
const error = function (err, response, body) {
console.log('ERROR [%s]', JSON.stringify(err, null, 2));
};
const success = function (data) {
console.log('Data [%s]', data);
};
twitter.doPost(`${TWITTER_BASE_URL}/direct_messages/new.json`, {
user_id: '123456',
text: 'This is easy.'
}, error, success);
Still not work with code from @kevin-smets :(