我有一个简单的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
我在DB中得到了正确的答案。但是,当通过IFTTT触发时,我得到一个空数组。
我已经尝试了Content Type
以及POST
和GET
Methods
的所有选项,但无论如何都没有提交。我通过在URL字段中将GET调用放在一起找到了一种解决方法,但这并不整洁,我认为它应该工作所以想要了解问题。另外,如果可能的话,我想发布GET而不是GET。
我认为问题与Body
有关,而且格式不正确,但我已经尝试了我能想到的每一个组合,你在这里看到的是如何显示IFTTT上的例子。
有没有人有任何想法或已知解决方案。
谢谢,
答案 0 :(得分:0)
您需要像上面提到的那样将数据嵌入到URL中。这就是GET请求的工作方式。如果你想保持整洁并且不在URL中嵌入数据,你可以在PHP脚本中使用$ _POST,然后使用IFTTT中的body部分来嵌入数据,如截图所示。