iT邦幫忙

0

請教PHP + LINE login 如何取得user profile ?

您好
PHP用 " LINE login " 登入 , LINE 回應後 , 如何去取回User Profile?

先謝謝您的解答!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
暐翰
iT邦大師 1 級 ‧ 2018-03-26 16:22:18

新的問題:

接下來要取得 user profile , 我就不會了
請問哪裡可以找到教學範例?

回答:

我之前沒寫過什麼php跟串過line的api,但官網文件+串過其他平台經驗,原理目測下來一樣
我一步一步理解,講解給你:

#登入送出url跟line server確認身分

https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id={CHANNEL_ID}&redirect_uri={CALLBACK_URL}&state={STATE}&bot_prompt={BOT_PROMPT}&scope={SCOPE_LIST}

#確定無誤會把網頁重導到你的server url (你頻道設定的server url)並接收到code

#接著你的server就可以用code當參數,去使用line api取得token

#有了token再去取得access_token

#有了access_token帶入獲取用戶資料api

#獲取userID

#再使用之前提供給你的php code就可以取得使用者資料

$bot = new \\LINE\LINEBot(new CurlHTTPClient('your-channel-token'), \[
 'channelSecret' => 'your-channel-secret'
\]);
 
$res = $bot->getProfile('user-id');
if ($res->isSucceeded()) {
 $profile = $res->getJSONDecodedBody();
 $displayName = $profile\['displayName'\];
 $statusMessage = $profile\['statusMessage'\];
 $pictureUrl = $profile\['pictureUrl'\];
}

連結: Getting user profile

webtest iT邦新手 5 級 ‧ 2018-03-26 17:05:47 檢舉

您好

我的步驟是

  1. login.html內文是
    var URL = 'https://access.line.me/oauth2/v2.1/authorize?';...

  2. LINE 登入 畫面

  3. LINE 會傳 www.abc.com/callback.php?code=zzzzzzzz&state=abcde

  4. 接下來要取得 user profile , 我就不會了
    請問哪裡可以找到教學範例?

謝謝您!

暐翰 iT邦大師 1 級 ‧ 2018-03-26 17:48:34 檢舉

我更新回答了

我要發表回答

立即登入回答