所以我正在尝试创建一个处理程序来响应Plex使用PHP发送的webhook功能发送的JSON,而我却没有看到我出错的地方。
令人讨厌的是,当我自己写一个快速卷曲请求时似乎工作正常,但是当从Plex发送请求时它只是不起作用。使用file_put_contents我可以看到$ _POST正在按预期接收JSON,但是除此之外每个变量都是空的。将json_last_error输出到文件会给我0。
这里的任何帮助都会很棒。我不是一个专家,只是不明白为什么这不起作用。我也尝试不在$ _POST上使用json_decode,而是将其视为字符串,使用strpos查找特定事件,玩家和类型,但是在所有情况下也返回false。
$jsonText = $_POST;
$myArray = json_decode($jsonText, true);
$type = $myArray["Metadata"]["type"];
$player = $myArray["Player"]["title"];
$event = $myArray["event"];
if($type == "movie" && $player == "TV UE40K5500") {
switch($event) {
case "media.play":
case "media.resume":
ifttt("tv_play");
break;
case "media.pause":
case "media.stop":
ifttt("tv_stop");
break;
}
}
答案 0 :(得分:0)
谢谢大家的建议。我添加了几个日志文件写入,以找出我丢失信息的地方。我终于能够推断出我需要访问$_POST["payload"]
以获取从Plex发送的JSON。
我确实从现在开始学会了一定程度的日志记录,因为它使错误检查变得容易了一千倍。