質問: ウェブアプリにLINEログインを組み込む 上記の公式サイトを参考にウェブアプリにLINEログインを組み込もうとしています。 遷移する画面のURLは`HTML ログイン` です。 公式サイトには「ユーザー情報はペイロード部分に含まれます。」と記述してあり、最初はよく分からなかったのですが、遷移先のページでGoogle Chromeのデベロッパーツールでローカルストレージを覗いてみたところ、nameという値がありました。 しかし、そこには文字化けした 「name: "å¡©ç°ãåæ"」という値になっており、念のためlocalStorage.getItem()関数を使って出力してみても同じように文字化けした名前になってしまっています。 nameの値が文字化けしない方法、もしくは、文字化けを修正する方法はないものでしょうか。 どなたかご教授していただけると幸いです。
回答: ユーザーのプロフィール情報を取得したい。と言うことでよかったでしょうか? line へ送ったリクエストのレスポンス、もしくは、redirect先への post リクエストの json に id_token というものが含まれているはずです。 https://developers.line.biz/ja/docs/line-login/integrate-line-login/#response それは jwtトークンと呼ばれるもので、その中にいろいろな情報が入っているため、 decode してあげることで、中から name 等の情報を取り出すことができます。 https://jwt.io/ こういったサイトから、簡単にデコードした値を確認することができます。 もう一つは Social APi を使う方法が紹介されていて、これは、デコード等を行う必要がなく、api のレスポンスに profile のデータが直接入っているみたいです。 https://developers.line.biz/ja/reference/social-api/#http%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88-5