我正在使用Django(python)中的Instagram API
我从
获取代码'https://api.instagram.com/oauth/authorize/?client_id=%s&response_type=code&redirect_uri=%s' % (INSTAGRAM_APP_CONSUMER_KEY, redirect_uri)
但当我正在交换访问令牌代码的代码时失败
# All arguments are valid
def execute(self, code, redirect_uri, app_id, app_secret):
exchange_url = 'https://api.instagram.com/oauth/access_token'
try:
#Update : get request to post
r = requests.post(exchange_url, params={
'client_id': app_id,
'redirect_uri': redirect_uri,
'client_secret': app_secret,
'code': code,
'grant_type': 'authorization_code'
})
#print(r)
#print(json.loads(r))
print(r.json())
return r.json()
except Exception as e:
print(e)
r.json()给出simplejson.scanner.JSONDecodeError:期望值:第1行第1列
更新1:r.json()在请求从get更改为post但错误后工作 消息提交'您必须提供client_id'
请让我知道我做错了什么
答案 0 :(得分:0)
我认为它需要post
数据中的数据,而不是查询参数中的数据
试试这个:
your_post_data = {'client_id': '', ... }
r = requests.post('your_url', data=your_post_data)