【发布时间】:2021-08-17 03:58:46
【问题描述】:
我正在开发一个使用 Instagram 的 OAuth 身份验证服务 (based on this description) 的 Flask 网站。我能够访问 Instagram 并获得了身份验证所需的代码,但在最后一步我收到一条错误消息,指出我认为我没有提供“client_id”。
from flask import Flask, request, redirect
import requests
import json
client_id = ""
client_secret = ""
redirect_uri = ""
authorization_url = "https://api.instagram.com/oauth/authorize"
app = Flask(__name__)
app.debug = True
app.secret_key = 'development'
@app.route('/')
def index():
return redirect(authorization_url + "/?client_id=" + client_id + "&redirect_uri=" + redirect_uri + "&scope=public_content&response_type=code")
@app.route('/callback')
def callback():
code = request.args.get('code')
payload = {"client_id": client_id,
"client_secret": client_secret,
"grant_type": "authorization_code",
"redirect_uri": redirect_uri,
"code": code}
r = requests.post('https://api.instagram.com/oauth/access_token', data=json.dumps(payload))
return r.text
返回错误:
{"error_type": "OAuthException", "code": 400, "error_message": "You must provide a client_id"}
我觉得这很奇怪,因为我确实在有效负载中提供了 client_id。 可能是什么问题?
【问题讨论】: