LINE WORKSにPHPだけでメッセージを送信したい
社内で活用中のLINE WORKSに、ホスティングサーバー(Xserver)上にあるDBデータをPHPで送信したく、ネットを探したところあまり情報がなく、こういう要件って少ないのか??と思いなんとかとりあえずメッセージが飛ぶというところまで自力で持っていけましたのでメモ
send-lineworks.php ソースはこれだけです。
<?php
// ここに設定情報を追加
// 設定情報は下記を参照
// 1.API ID
$apiId = '';
// 2.Server API Consumer Key
$consumerKey = '';
// 3.Token
$accessToken = '';
// 4.Bot No.
$botNo = '';
$url = "https://apis.worksmobile.com/r/${apiId}/message/v1/bot/${botNo}/message/push";
$data = [
'json' => [
// 5.accountId
"accountId" => '',
// "roomId" => '',
"content" => [
"type" => "text",
"text" => "ここにメッセージ"
]
]
];
//curl実行
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data['json']));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json;charset=UTF-8',
'consumerKey: ' . $consumerKey,
'Authorization: Bearer '.$accessToken
));
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
?>か
各種キーの設定方法
上記、LINE WORKS Developers にアクセスしLineの管理者となる人のアカウントで新規ログインし以下の項目を設定します。
続いてBotも設定します。
上記設定で、send-lineworks.phpをサーバにアップして直アクセスもしくは、cron設定などで実行されLINE WORKSにメッセージが送信されます。