メモ > 技術 > サービス: LINE > LoginのAPIについて作業メモ(旧メモ)
LoginのAPIについて作業メモ(旧メモ)
https://business.line.me/ja/
https://business.line.me/ja/services/login
からログイン
アカウント情報は、LINEアプリの「設定 → アカウント」から確認できる
一般アカウントで登録するのが普通の流れらしいので、仕事用に作成した個人のLINEアカウントでログイン
アカウント作成
Business Centerでご利用になるメールアドレスを入力してください。
入力したメールアドレス宛に登録用URLが届きます。
メール受信制限をされている方は@line.meからのメール受信を許可してください。
と言われる。個人アカウントで登録するより、会社用にLINEアカウントを作ってビジネスセンターに登録するほうがいいかも
ひとまず、以前に作成した仕事用アカウントで登録
https://business.line.me/ja/services/login
から LINE Login にアクセス
「ビジネスアカウントの作成」という専用の手順は今は無い?
「LINE Loginを始める」をクリックすると「ビジネスアカウントのアイコン、アカウント名を設定してください。」というページに飛ぶ
今はこれがビジネスアカウントの作成に当たる?
そうだとして、下にある「Channel情報」の「Channel説明文」には何を入力する?
会社の情報?サービスの情報?この説明文はLINEへの申請用?公開される?
ひとまず、以下で申し込んでみる
Channel説明文: You can log in to services created by refirio Co.,Ltd.
申し込みタイプ: WEB
プロバイダ: (会社名)
メールアドレス: (会社メールアドレス)
https://developers.line.me/web-api/channel-registration
を読むと
「Description: Description displayed in the Authorized Apps section of LINE. Must be in English.」
と書かれている。Channel説明文のことではない?UIが日本語だし注意書きもないので、英語必須ということはない?
でも項目的に「Channel説明文=Description」かもしれないので、いったん英語で申し込んでみる
申し込むと
「お申し込みありがとうございました。
LINE Loginの申し込みが完了しました。
LINE DevelopersよりChannelの設定を行ってください。」
「アカウント名: refirio
Channel ID: 1234567890
Channelの設定について: LINE Developersより設定を行ってください。
開発ドキュメントについて: 設定に必要な開発ドキュメントに関しては、以下をご確認ください。 開発ドキュメント」
と表示された
LINE Developersへ移動すると「Terms and Conditions of Use」が表示されたので同意
そうすると「Channels > Basic information」として「refirio」の情報が表示された
「Channel説明文」は「Description (English)」に表示されているので、会社のサービスの説明を英語で入れて良かったみたい?
http://milk0824.hatenadiary.jp/entry/2016/04/08/021052
を参考に、実際にPHPでプログラムを作成してみる
https://lolipop-dp07080676.ssl-lolipop.jp/memos/line/outh/
認証しようとすると以下のURLに飛んだが、
https://access.line.me/dialog/oauth/weblogin?response_type=code&client_id=1499871014&redirec...
何度認証しても以下のエラーが表示された。リダイレクトURLが正しくないらしいので、「Channels > Technical configuration」でURLを設定
https://access.line.me/dialog/oauth/weblogin?response_type=code&forceSecondVerification=false&am...
それでも同じエラーになったが、しばらくすると以下に飛ぶようになった。反映まで5〜10分程度かかるのかも?
https://access.line.me/dialog/allow?at=s%2B%2FbjGIdyhcFeUQEgTLWGf4fb4y8AKpYTzcAUnH0eFHJam0p%2FCmNOlc...
同意すると以下に飛んだ
https://lolipop-dp07080676.ssl-lolipop.jp/memos/line/outh/?code=C7obbuCYfhBnEdJJDJMj
飛び先の画面でリロードするとエラーになったcodeは一度しか使えない値かも
個人アカウントだと以下に飛ぶ?AUTHENTICATION_FAILなので認証エラー。
開発中は開発者しかログインできないとか?LINEからの通知を見る限り、認証情報自体はあっているみたい?
https://access.line.me/dialog/oauth/weblogin?response_type=code&forceSecondVerification=false&am...
チャンネル設定画面に
Status: DEVELOPING / PUBLISHED
という項目がある。説明文に
「If your application is still being developed and is used by a limited number of users, select DEVELOPING.
If your application is already complete, select PUBLISHED.
To remove your application, select DELETED.」
とあるが、PUBLISHEDにしないと開発者のアカウントでしかアクセスできないのかも
試しにPUBLISHEDに切り替えようとしたら、
「This Channel is still being edited and has not been reviewed. The items being edited are highlighted in green.」
「This Channel is still being edited and has not been reviewed.
If you would like to submit your Channel's information for review, click SUBMIT.」
と表示された
DEVELOPINGには戻せなくて、SUBMITを押すことで審査が開始される?
[QYcZAWOgeeFPVjiT7JIS]
mid -> abcd1234567890
access_token -> abcd1234567890
token_type -> Bearer
expires_in -> 2591717
refresh_token -> abcd1234567890
scope ->
開発者モード(DEVELOPING)では問題なく動作しているようだが、
公開モード(PUBLISHED)にしたときの動作は要検証。また、審査が通るかどうかもやってみないと判らない
■2019年5月28日追記
プログラムを実行すると以下のような警告が表示され、情報を取得できなくなっている
Warning: file_get_contents(https://api.line.me/v1/oauth/accessToken) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
以下のエンドポイントの提供が終了されているので、プログラム調整が必要みたいだが、ログイン関連だけなら「v1」を「v2」に変更するだけで動作した
https://api.line.me/v1/oauth/accessToken
↓
https://api.line.me/v2/oauth/accessToken
LINE Developers
https://developers.line.biz/ja/news/tags/line-login/
■注意メモ
http://qiita.com/YuitoSato/items/a9e613370f418d5c322c
「なかなか申請が通らないことが多く、通らない理由は以下のだいたい以下の4つです。」
らしいので、可能なら最初は「告知なく自社サービスに実装してみる」のように実装する方が安全かもしれない