2

我有一个简单的 IFTTT 配方,每当instagram一张带有标签 #dog 的照片发布时都会触发(用作示例,因为它几乎每秒触发一次,并且易于排除故障)。这工作正常。相关操作是Maker向网站提交GET调用,如下图所示。

在此处输入图像描述

然后运行一个非常简单的PHP脚本,如下所示。

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$dump = $conn->real_escape_string(var_export($_GET, true));
$sql = sprintf("INSERT INTO table (dump) VALUES ('%s');", $dump);
echo $sql;
if ($conn->query($sql) !== TRUE) {
    echo "#######Error: ". $conn->error ."#######<br/>";
}
$conn->close();

$GET这应该简单地将数组“转储”到MySQL表中。当我使用浏览器运行PHP脚本时,例如

http://www.example.com?data=test&data2=testing

我在数据库中得到了正确的响应。但是,当通过 IFTTT 触发时,我得到一个空数组。

我已经尝试了所有选项Content Type,但POSTGET Methods没有提交任何一种方式。我通过将 GET 调用放在 URL 字段中找到了一种解决方法,但这并不整洁,我认为它应该可以工作,所以想了解这个问题。另外,如果可能的话,我想发布而不是 GET。

我认为问题出在 theBody并且它的格式不正确,但我已经尝试了我能想到的所有组合,你在这里看到的是 IFTTT 上的示例是如何显示的。

有没有人有任何想法或已知的解决方案。

谢谢,

4

1 回答 1

0

您需要像您提到的那样将数据嵌入到 URL 本身中。这就是 GET 请求的工作方式。如果你想让它保持整洁并且不在 URL 中嵌入数据,你可以在 PHP 脚本中使用 $_POST,然后使用 IFTTT 中的正文部分来嵌入数据,如屏幕截图所示。

于 2016-06-18T11:12:07.540 回答