My source code is quite a simple. I used XMLHttpRequest.
var request = new XMLHttpRequest();
request.open("POST", "https://api.twitter.com/oauth2/token", true, CONSUMER_KEY, CONSUMER_SECRET);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
request.send("grant_type=client_credentials");
I found some says the authorization should be added by setRequestHeader, but it doesn’t make difference.
var request = new XMLHttpRequest();
request.open("POST", "https://api.twitter.com/oauth2/token", true);
request.setRequestHeader("Authorization", "Basic " + btoa(CONSUMER_KEY + ":" + CONSUMER_SECRET));
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
request.send("grant_type=client_credentials");
The result is the below:
{"errors":[{"code":99,"message":"Unable to verify your credentials","label":"authenticity_token_error"}]}
Any idea?