Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

404 Error on Google OAuth API Token Request

I am trying to get a token from the Google OAuth api. I have already successfully been able to get the temporary auth code.

However, my requests are returning a 404 error, with the normal Google "That's an error" 404 page. Here is my Python code:

data = {
    "code":auth_code,
    "client_id":client_id,
    "client_secret":client_secret,
    "redirect_uri":redirect_uri,
    "grant_type":"authorization_code"
    }
headers = {"Content-Type":"application/x-www-form-urlencoded"}
r = requests.post("https://googleapis.com/oauth/v4/token",data=data,headers=headers)

I get the same error no matter if I url-encode my parameters or not (I think the requests library does it anyway).

Here are the data I am sending in more detail (censored of course)

'client_id':'2-------------------------------------------0.apps.googleusercontent.com',
'client_secret': '5----------------------p',
'code': '4/A-------------------------- ... ------------------------------------fGE#',
'grant_type': 'authorization_code',
'redirect_uri': 'https://localhost'

I understand the question here is very similar to mine but all the solutions provided either don't work (url encoding) or don't apply (everything else).

I am using this official documentation for reference.

This is probably very obvious, like most of the questions I ask here.

Edit - I tried

data = "code="+auth_code+"&client_id="+client_id+"&client_secret="+client_secret+"&redirect_uri="+redirect_uri+"&grant_type=authorization_code"

...which returned a 400. With or without url-encoding.

like image 785
theParanoidAndroid Avatar asked Oct 21 '25 12:10

theParanoidAndroid


1 Answers

For me the issue was that I was sending a GET. You have to send a POST.

like image 123
Jack M Avatar answered Oct 23 '25 04:10

Jack M



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!