我正在尝试为基于订阅的API创建一个Webhook,每当IoT设备进行更改时,它都会向我发送JSON数据。我似乎无法启动该功能,也无法弄清楚其背后的原因。
API将提供给我的数据如下:
{“ data:{” type“:1,” value“:1,” dev_id“:5,” attr_id“:0}, “ ack”:“ ok”,“ action”:“上传”,“ mac”:“ C8EEA63070CF”}
我的webhook功能:
class webHookController extends Controller
{
public function webhook(Request $request)
{
$options = array(
'cluster' => 'ap2',
'useTLS' => true
);
$pusher = new \Pusher\Pusher(
'cant',
'show',
'these',
$options
);
$pusher->trigger("n-channel", 'n-event',$request['data']);
$thinker = t::where('thinker_MAC',$request['mac'])->first();
$slave = sd::where('connected_thinker_MAC',$request['mac'])->get();
if(count($slave) > 0 && $thinker->user_id != NULL)
{
$pusher->trigger($u->id."-channel", 'n-event',$request);
}
else
{
}
return "hooked";
}
}
我在api.php中的路线:
Route::post('/webhook','webHookController@webhook');
订阅有效的证明:
我还添加了忽略csrf令牌的路由。
protected $except = [
'/webhook',
];
如果我使用邮递员,我可以运行我的功能。任何帮助将不胜感激。
答案 0 :(得分:0)
一切都实现得很好。只需使用ngrok进行测试。为寻求相同问题答案的人解答。似乎这里没有人知道答案。