そもそもの話ですが、"http://127.0.0.1:8000/
はlocalhostなのでngrokなどで外部に公開できるURLに変更する必要があります。
あとのコードに関しては関数だけで全体像が見えないですが、多分redirect_urlを解決すれば多分動くと思います
LINEログインAPIを利用したいんですけど 次のerror messageが発生します。
{'error': 'invalid_request', 'error_description': 'client_id is required.'}{'error': 'invalid_request', 'error_description': 'client_id is required.'}
自分が書いたCodeはこちらです。
def line_login(request):
client_id = "#"
redirect_uri = "http://127.0.0.1:8000/users/login/line/callback"
state = "1230598125asdfas"
return redirect(
f"https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&state={state}&scope=profile%20openid%20email"
)
def line_callback(request):
client_id = "#"
redirect_uri = "http://127.0.0.1:8000/users/login/line/callback"
client_secret = "#"
state = "1230598125asdfas"
code = request.GET.get("code")
headers = {
"Content-Type": "application/x-www-form-urlencoded",
}
token_request = requests.post(
f"https://api.line.me/oauth2/v2.1/token?grant_type=authorization_code&code={code}&redirect_uri={redirect_uri}&client_id={client_id}&client_secret={client_secret}",
headers=headers,
)
print(token_request.json())
もし自分のチャンネルIDが間違ってかなと確認してもおかしいところは見つかりませんでした 韓国ではLINEについての情報が足りないんで知ってる方がいらっしゃったら助けてください!
そもそもの話ですが、"http://127.0.0.1:8000/
はlocalhostなのでngrokなどで外部に公開できるURLに変更する必要があります。
あとのコードに関しては関数だけで全体像が見えないですが、多分redirect_urlを解決すれば多分動くと思います