Cannot get an access token - unknown grant type


#1

Hi,

I am trying to get access token for a user, but I keep receiving "status":"BAD_GRANT_TYPE","message":"missing or unknown grant type". I have tried encoding query params or passing them as one json param, but nothing worked.

payload = {
    'grant_type': 'authorization_code',
    'client_id': 'f6***',
    'client_secret': 'f2***',
    'redirect_uri': 'https://sc***/',
    'code': '5f***'
}
requests.post('https://api.hubapi.com/oauth/v1/token?', params=payload)

#2

@esthom Are you setting your content-type in the headers? Should be

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Sometimes not having the correct content-type can throw off a server trying to read your request.


#3

Thanks @pmanca, that worked fine!


#4

@pmanca I seem to be having the same issue. Not sure why however. the header on postman is as you describe it along with the body data.

header image: https://ibb.co/bOVrAm
body image: https://ibb.co/d6Rni6

Any ideas would be greatly appreciated.

thx


#5

@sphot Can you send along the full image of your body?


#6

Hi, I'm having the same problem with Postman, how could you solve it?


#7

But not working for me even after chnaging the order as follows:
grant_type=authorization_code
&client_id=xxx
&client_secret=xxx
&redirect_uri=https://api.hubapi.com/contacts/v1/lists/all/contacts/all
&code=code_here

And adding " Content-Type: application/x-www-form-urlencoded;charset=utf-8"

image


#9

Welcome, @brij.

Per this documentation, you must include grant_type, client_id, client_secret, redirect_uri, and code in the request body.

You are trying to include those parameters as headers, but the only header should be Content-Type: application/x-www-form-urlencoded;charset=utf-8.


#10

Not it says "{
"status": "BAD_CLIENT_ID",

"message": "missing or unknown client id","

I think it worked now I have to get new client id.

But the same client id was used to get the code.


#11

Hi, @brij.

Are you still experiencing this error? I was unsure whether your last post said you got it working.

The client_id you should use is located in your app settings. If you need help finding this, please share your developer Hub ID and app ID.