LINEからHTMLフォームにアクセスさせ、アクセス時にユーザーIDを取得するスクリプトを作成しています。
現状、LINE内のリッチメニューにスクリプトURLを組み込み、LIFF(LINEアプリ内でフォームを立ち上げさせ、更新させる機能表示させない)で起動させるという方法をとっていますが、LIFFではなく一般的なブラウザで立ち上げさせる方法をとると、フォーム遷移後にブラウザ更新したら以下のエラーが出ます。
「https://api.line.me のリクエストに失敗しました(エラー: 400)。サーバー応答の一部: {"error":"invalid_grant","error_description":"invalid authorization code"}(応答の全文を見るには muteHttpExceptions オプションを使用してください)(行 16、ファイル「main」、「ファイル名」)
↑
アクセストークンを発行するところでエラー
コードは下記のような感じです。ようはLINEから正常に遷移しないとLINEからの情報を取得できないので
エラーが出ていると思われます。
[質問]
ブラウザ更新すると必ず失敗するとわかっている処理において「ブラウザ更新に失敗したら更新前の状態に戻す」といった処理は可能でしょうか?他の方法でもかまいませんのでご教授ください。
GAS
1function doGet(e) { 2//アクセストークン発行する処理→ブラウザ更新すると失敗 3~略~ 4//ユーザーID取得する処理→上記失敗するので同じくここも失敗 5~略~ 6 7//URL表示 8 var url = HtmlService.createTemplateFromFile('index'); 9 url.userid = userid; //indexにユーザーID渡す。 10 return url.evaluate().setTitle('タイトル').addMetaTag("viewport", "width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=10.0"); 11} 12
あなたの回答
tips
プレビュー