1
Facebook用の非常にシンプルなチャットボットを開発したので、Facebookが新しいファイルfb.txtに送信するJSONファイルを保存しました。このJSONでは、メッセージング配列のフィールドの1つがFacebookから送信されたテキストでしたが、もはやそのようには見えません。Facebookのchat webhookは送信者のテキストを持つJSONを送信しません - IDのみ
<?php
if (isset($_REQUEST['hub_challenge'])) {
$challenge = $_REQUEST['hub_challenge'];
$token = $_REQUEST['hub_verify_token'];
}
if($token == "macross93") {
echo $challenge;
}
$input = json_decode(file_get_contents('php://input'), true);
$userID = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];
echo $userID." and ".$message;
file_put_contents("fb.txt", file_get_contents($userID));
$access_token="EAAElJTd6foABAGhCjYcL3ikrPMFkOZBihqb5jzVZCuCnJd8oL4jFZAZCV26EYiOXGLzkz6lKZAMDXBKDsFwWFVYBVfSguV2ZCZCgGNCOLCxWWHQYC8of3DJks4AmEAVFo2DB29TajZBGQDUYtQqOWaig3M2m5ioeOElY7CPXZB3eEgAZDZD";
$url="https://graph.facebook.com/v2.8/me/messages?access_token=EAAElJTd6foABAGhCjYcL3ikrPMFkOZBihqb5jzVZCuCnJd8oL4jFZAZCV26EYiOXGLzkz6lKZAMDXBKDsFwWFVYBVfSguV2ZCZCgGNCOLCxWWHQYC8of3DJks4AmEAVFo2DB29TajZBGQDUYtQqOWaig3M2m5ioeOElY7CPXZB3eEgAZDZD";
$jsonData = "{
'recipient': {
'id': $userID
},
'message': {
'text': 'finally, the bait is over'
}
}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
if(!empty($input['entry'][0]['messaging'][0]['message'])) {
curl_exec($ch);
}
そして、私は今、受け取るJSONは次のとおりです。
{
"object": "page",
"entry": [{
"id": "632423650282074",
"time": 1489785206037,
"messaging": [{
"sender": {
"id": "892399990863615"
},
"recipient": {
"id": "632423650282074"
},
"timestamp": 1489785206027,
"read": {
"watermark": 1489785205361,
"seq": 0
}
}]
}]
}
任意のアイデア私のことができるようにするために使用するようなメッセージを読むにはどのように?