pythonfacebook-graph-apipython-requestsinstagram-apiinstagram-graph-api

Instagram API on python: "Missing client_id parameter"


I am trying to get a long-lived access token from the Instagram graph API through a python script. No matter what I do, I keep receiving the following error:

{"error":{"message":"Missing client_id parameter.","type":"OAuthException","code":101,"fbtrace_id":"AogeGpzZGW9AwqCYKHlmKM"}}

My script is the following:

import requests
refresh_token_url = 'https://graph.facebook.com/v19.0/oauth/access_token'
payload = {
    'grant_type': 'fb_exchange_token', 
    'client_id': '1234567890123456'
    'client_secret': '1234abcd1234abcd1234abcd',    
    'fb_exchange_token':'abcd1234'
}
r = requests.get(refresh_token_url, data=payload)

I am for sure passing the client_id parameter. I verified also by printing r.request.body

On the contrary, the request is successful if I send it with the Postman app: enter image description here

Why do I keep getting that error message? Thank you!


Solution

  • The Postman called by GET parameters.

    In modified version, the params argument is used instead of data. This change will append the parameters in payload to the URL as a query string,

    So your code needs to change it

    import requests
    
    refresh_token_url = 'https://graph.facebook.com/v19.0/oauth/access_token'
    payload = {
        'grant_type': 'fb_exchange_token', 
        'client_id': '1234567890123456',
        'client_secret': '1234abcd1234abcd1234abcd',    
        'fb_exchange_token': 'abcd1234'
    }
    r = requests.get(refresh_token_url, params=payload)