如何从 Instagram API 获取访问令牌

问题描述 投票:0回答:4

我一直在关注 Instagram 的基本指南https://developers.facebook.com/docs/instagram-basic-display-api/guides/getting-access-tokens-and-permissions

我添加了我的个人 Instagram 帐户作为测试人员,并获得了授权代码,但是当我发送获取访问令牌的请求时,这是我的响应:

{
    "error_type": "OAuthException",
    "code": 400,
    "error_message": "Missing required field client_id"
}

这是我在 POSTMAN 中的输入:

任何帮助或可能的提示将不胜感激,提前致谢!

swift instagram-api
4个回答
29
投票

我在这里找到了我自己问题的解决方案无法获取Instagram基本显示API的access_token

当使用 Postman for Instagram 的 API 时,您应该填写 POST 请求的Body下所需的信息,NOTParameters。当在正文中时,只需选择 x-www-form-irlencoded


0
投票

只是澄清一下,您还必须在代码末尾保留“#_ 才能使其正常工作(与文档所说的相反)


0
投票

而不是对主体进行编码 - 可以在 python 中使用这种方法。

import urllib3

def make_post_request(url, fields):
    http = urllib3.PoolManager()
    response = http.request(
        'POST',
        url,
        fields=fields
    )
    return response.data.decode('utf-8')

url = 'https://api.instagram.com/oauth/access_token'
fields = {
    'client_id': '1234',
    'client_secret': 'ad09c61ac39488fc446b4bc0f05fddc9',
    'grant_type': 'authorization_code',
    'redirect_uri': 'https://www.blabla.app/auth/',
    'code': '1234'
}

response = make_post_request(url, fields)
print(response)

0
投票

Instagram 重定向到您的 REDIRECT_URI,代码在查询参数中,但我注意到代码字符串末尾缺少

#_
,该代码字符串出现在允许用户权限后的 Instagram 页面上,将其添加到您检索到的内容中如果缺少,请在末尾添加代码。

© www.soinside.com 2019 - 2024. All rights reserved.