首页 > 解决方案 > instagram basic display api Exchange Code for Token 返回 400 OAuthException Invalid platform app

问题描述

对此有一些问题,我想我可以分享一些意见:

设置我的 Instagram 应用程序后,我使用了平台特定的应用程序 ID,而不是 Facebook 应用程序 ID。

我导航到我的 Facebook 应用程序仪表板产品 > Instagram > 基本显示并复制了 Instagram 应用程序 ID,但我仍然收到 Invalid platform app 错误。

这是我的代码:

from my_variables import client_id, client_secret, grant_type
import requests


def exchange_for_access_token(code, redirect_uri):
    r = requests.post(
        'https://api.instagram.com/oauth/access_token',
        data={
            'client_id': client_id,
            'client_secret': client_secret,
            'grant_type': grant_type,
            'redirect_uri': redirect_uri,
            'code': code,
        },
    )
    r.raise_for_status()
    return r.json()

标签: pythonpython-requestsinstagram

解决方案


我在禁用 ssl 验证并添加 'Content-Type': 'application/x-www-form-urlencoded' HEADER 后解决了我的问题。

这是我的代码示例:

from my_variables import client_id, client_secret, grant_type
import requests


def exchange_for_access_token(code, redirect_uri):
    r = requests.post(
        'https://api.instagram.com/oauth/access_token',
        data={
            'client_id': client_id,
            'client_secret': client_secret,
            'grant_type': grant_type,
            'redirect_uri': redirect_uri,
            'code': code,
        },
        headers={
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        verify=False,
    )
    r.raise_for_status()
    return r.json()


推荐阅读