LINE公式アカウント上でのユーザーコミュニケーションを自動で行うことができる「LINE Messaging API」。2016年4月に「LINE BOT API」として試験的に提供が開始されていましたが、同年9月には現在の名称にて一般公開されました。
一般公開時にはいくつかの機能追加が合ったのですが、その中の一つに「グループトーク内でのユーザー情報取得」があります。
以前はグループやルームのIDのみ取得可能で、そこに参加するメンバー情報は取得できませんでした。どうやらそれができるようになったのは、5月末のリリースからだそうです。
[sc_Linkcard url=”http://nowsprinting.hatenablog.com/entry/2017/06/02/024020″]という事で、早速LINE Messaging APIを見ながらやってみましょう。
API情報
リクエストURL
| Group | https://api.line.me/v2/bot/group/{groupId}/member/{userId} |
|---|---|
| Room | https://api.line.me/v2/bot/room/{roomId}/member/{userId} |
AD
ヘッダー情報
| Authorization | Bearer {Channel Access Token} |
|---|
Webhookで取得したJSONに書かれているgroupId / roomId とuserId、botのアクセストークンがあれば、名前やプロフ画像をGetできます。
PHP例
とりあえずユーザー名(displayName)を取得します。
$profUrl ='https://api.line.me/v2/bot/group/' . $groupId . '/member/' . $userId;
$ch = curl_init($profUrl);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $accessToken
));
$getProfile = curl_exec($ch);
curl_close($ch);
$resProfJson = json_decode($getProfile);
$displayName = $resProfJson->displayName;
今後試したいことについて
以前からボットでやりたい事は「グループトークで人の活動を活発化させるボット開発」だったので、今回の機能追加でそれが大分取り組みやすくなりました。
発言回数の増減傾向はすぐにでもできますし、Googleが提供する自然言語処理ツール「Dialogflow」などを連携すれば、発言内容に対するアノテーションやモチベーション分析などのハードルもグッと下がります。もちろんそこには詳細なロジックが必要ですが、LINEというメジャーなプラットフォームで開発し易いというだけでも喜ばしいことですね。
![Webpla[ウェブプラ]](https://www.webpla.jp/wp-content/uploads/2020/02/logo_webpla_bk_s.png)






