LINE API利用においてアクセストークンの取得時に期限切れのエラーが出ます。
LINE Developersにログインしプロバイダを作成し、LINE Loginチャンネルを追加、
テストページにてLINE Loginを利用してログイン後、リダイレクトURLに認証コードが返ってくるところまでは確認出来ましたが、返ってきた認証コードでアクセストークンを取得しようとすると必ず期限切れのエラーになってしまいます。
最終的にはアクセストークン取得後、userIdを取得しMessagingAPIを利用してメッセージを送信したい。
リダイレクトURLに認証コードがGETで送信された後の実行コード
PHP
1$postData = [ 2 'grant_type' => 'authorization_code', 3 'code' => $_GET['code'], // 認証コード 4 'redirect_uri' => '設定したリダイレクトURL', 5 'client_id' => '追加したLINE LoginチャンネルのチャンネルID', 6 'client_secret' => '追加したLINE Loginチャンネルのチャンネルシークレット' 7]; 8 9$ch = curl_init(); 10curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-Type: application/x-www-form-urlencoded'); 11curl_setopt($ch, CURLOPT_URL, 'https://api.line.me/oauth2/v2.1/token'); 12curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 13curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); 14curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 15 16$res = curl_exec($ch); 17curl_close($ch); 18
上記コードでアクセストークンの取得を試みたのですがLINEログインでログイン後、リダイレクトURLに認証コードは返ってくるのですが何度ログインしてもログイン後のリダイレクトURLにリダイレクトされ認証コードも付与されるのですが、どうしてもHTTPステータスコード400と下記のレスポンスが返ってきます。
上記コーデでリクエストした際のレスポンス
HTTPステータスコード: 400
JSON
1{ 2 "error" : "invalid_grant", 3 "error_description" : "authorization code expired or incompatible" 4}
余談かもしれませんがZOOM APIでのアクセストークンの取得などは問題なく出来ております。
ご教授のほどよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー