Twitter Node failing if link in tweet

I’ve had 3 n8n workflows successfully running for the past few months now, through multiple upgrades of n8n but suddenly in the last week I’ve had issues with the Twitter node.

If I include any link in the tweet, even if I don’t use data from another node and just hand write in the URL, the Twitter node will fail citing ERROR: Authorization failed - please check your credentials.

I’ve destroyed my twitter credentials, rebuilt them, recycled all the keys from developer.twitter.com, and reconnected the credentials to the twitter app and there is no change.

I’d say the Twitter API has been updated and requires additional params for link inclusion in a tweet.

Has anyone else had this issue?
Have you found a work around?
Can we get a priority on the Twitter node being reviewed against the Twitter API?

Hey @hellotimking,

What version of n8n are you running? The credential error makes me wonder if this is down to the HTTP library being replaced a couple of versions ago.

Thanks for the reply Jon, I’ve actually just updated to the latest public 0.144.0

Makes sense to me if the HTTP lib was replaced. It started exhibiting on 0.141.0

Can you try setting N8N_USE_DEPRECATED_REQUEST_LIB=true this tells n8n to use the older library and in some cases it has worked around the issue until someone has had a chance to check the node.

Added this to my docker run command and the workaround has resolved the issue in 0.144.0 for now.

Looks like you were right about the HTTP Library replacement.

1 Like

All we need now is one of the n8n team to jump on it and take a look at the node to work it out :slightly_smiling_face:

Agreed!

I just found this thread which mentions the same problem from 23d ago as well:

Looks like it’s totally related to the new Axios library.

Thanks so much for looking into this so thoroughly already @hellotimking and @jon. I’ve filed an internal bug report for this (from testing further just adding a colon : seems to be enough to break the Twitter node) and we’ll of course make sure to add a note to the changelog once this problem has been fixed.

Please accept my sincere apologies for the inconvenience this causes.

2 Likes

Hello everyone!

Sorry about the delay, I’ve been working on this for the last few days but everytime I tried a solution, it would break other stuff.

I finally came up with a stable solution =) You can follow-up on the PR here: Fixed url params serializing for OAuth1 requests by krynble · Pull Request #2381 · n8n-io/n8n · GitHub

Should be released on the next version, probably this weekend.

Once updated, you can remove the deprecated library flag and it should work.

4 Likes

Got released with [email protected]

1 Like

Thanks for your prompt work on this @krynble!

That’s truly amazing @jan, thanks so much for letting us know.

Hey @hellotimking please let us know if the issues persists after updating =)

Have a great weekend!

I just updated to 0.148.0, removed the N8N_USE_DEPRECATED_REQUEST_LIB=true flag from my docker run and the issue is still present.

Reverted back to 0.139.0, then pulled latest again, this time tests show issue is resolved.

Hi @hellotimking

Just making sure, so it means it’s working fine with version 0.148.0 without using N8N_USE_DEPRECATED_REQUEST_LIB=true right?

Correct.

Without the flag set true it works perfectly in 0.148.0

1 Like

Amazing news!

Glad it’s solved! Have fun automating :grin:

I am on version 0.150.0 and encounter the same issue. In fact, I receive a 403 error with and without a link in the body of the tweet. I double-checked my API key credentials and made sure its permissions are set correctly.

Any hints on what could be wrong?

Hi @pkastner, and welcome to the community :tada:

I’m very sorry to hear you’re having issues with sending Tweets through n8n. The behaviour might not be related to the problem reported in this thread though. Using Twitter with n8n version 0.150.0 also works fine in principle (this masterpiece of a Tweet was sent out to test this just the other day :wink:).

Would you be able to share a workflow using which your problem can be reproduced and also confirm if you have any environment variables set? Maybe post this is in a new topic to make sure your question doesn’t get overlooked.