I have tried just about everything, read every StackOverflow post on this issue but I still can\'t get it to work. Interestingly enough, I am able to get 200 OK
Check the request Encoding.
in my case i was sending .json and was .url
Using Alamofire 3.0
As @BenFortune has already mentioned, I was sending GET
parameters as a POST
request. It's amazing such a trivial thing has gone unnoticed after trying to figure it out for over an hour.
Now, I blame inconsistencies across OAuth providers for this. In the same application I am doing a GET
request to Facebook to obtain access_token
: https://graph.facebook.com/oauth/access_token. But Google expects a POST
request to obtain access_token
: https://accounts.google.com/o/oauth2/token
var url = 'https://accounts.google.com/o/oauth2/token';
var payload = {
grant_type: 'authorization_code',
code: req.body.code,
client_id: req.body.clientId,
client_secret: 'HIDDEN',
redirect_uri: req.body.redirectUri
};
request.post(url, { form: payload }, function(error, response, body) {
console.log(body);
});