line chat botを作成したのですが本来位置情報を送信したら返答してくれるはずが返答を返してくれません。Webhookが無効なHTTPステータスコードを返しました(期待されるステータスコードは200です)というのがLine developersで表示されますがこれが原因なのでしょうか?もし分かる方がいれば教えてください
php
1<?php 2 3$accessToken = 'LINEのアクセストークン(管理画面より取得)'; 4 5// 受信したメッセージ情報 6$raw = file_get_contents('php://input'); 7$receive = json_decode($raw, true); 8 9$event = $receive['events'][0]; 10$replyToken = $event['replyToken']; 11$messageType = $event['message']['type']; 12 13// 送られてきたのが位置情報以外だったら応答しない 14if($messageType != "location") exit; 15 16$lat = $event['message']['latitude']; 17$lon = $event['message']['longitude']; 18 19// 送られてきた位置情報を元にぐるなびのAPIにアクセスしてマクドナルドの店舗情報を取得する 20$uri = 'https://api.gnavi.co.jp/RestSearchAPI/20150630/'; 21$accKey = 'ぐるなびのアクセスキー(アカウント発行後メールにて送られてきます)'; 22 23$url = $uri . '?format=json&name=マクドナルド&range=5&keyid=' . $accKey . '&latitude=' . $lat . '&longitude=' . $lon; 24 25$json = file_get_contents($url); 26$obj = json_decode($json); 27 28// 店舗情報を取得 29$count = 0; 30$columns = array(); 31foreach ($obj->rest as $restaurant) { 32 $columns[] = array( 33 'thumbnailImageUrl' => $restaurant->image_url->shop_image1, 34'text' => $restaurant->name, 35 'actions' => array(array( 36 'type' => 'uri', 37 'label' => '詳細を見る', 38 'uri' => $restaurant->url 39 )) 40 ); 41 if (++$count > 5) { // 最大5店舗の情報を返す 42 break; 43 } 44} 45 46// LINEで返信する内容 47$headers = array('Content-Type: application/json', 48 'Authorization: Bearer ' . $accessToken); 49 50if ($columns) { 51 $template = array('type' => 'carousel', 52 'columns' => $columns); 53 54 $message = array('type' => 'template', 55 'altText' => 'マクドナルドの店舗情報', 56 'template' => $template); 57} else { 58 $message = array('type' => 'text', 59 'text' => '残念ですが、近くにマクドナルドはありませんでした。'); 60} 61 62$body = json_encode(array('replyToken' => $replyToken, 63 'messages' => array($message))); 64$options = array(CURLOPT_URL => 'https://api.line.me/v2/bot/message/reply', 65 CURLOPT_CUSTOMREQUEST => 'POST', 66 CURLOPT_RETURNTRANSFER => true, 67 CURLOPT_HTTPHEADER => $headers, 68CURLOPT_POSTFIELDS => $body); 69 70$curl = curl_init(); 71curl_setopt_array($curl, $options); 72curl_exec($curl); 73curl_close($curl); 74