У меня есть простой рецепт 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
и оба POST
а также GET
Methods
но ничего не представлено в любом случае. Я нашел обходной путь, соединив вызов GET в поле URL, НО это не аккуратно, и я думаю, что оно должно работать, поэтому хочу понять проблему. Кроме того, я хотел бы ПОСТАТЬ, а не получить, если это возможно.
Я предполагаю, что проблема с Body
и он не был правильно отформатирован, но я попробовал каждую комбинацию, которую могу придумать, и то, что вы видите здесь, это то, как отображается пример на IFTTT.
У кого-нибудь есть идеи или известное решение.
Спасибо,
Вам нужно вставить данные в сам URL, как вы упомянули. Вот как работают запросы GET. Если вы хотите сохранить порядок и не вставлять данные в URL, вы можете использовать $ _POST в своем PHP-скрипте, а затем использовать раздел body в IFTTT для встраивания данных, как показано на скриншоте.
Других решений пока нет …