Гид по технологиям

Как постить в Facebook из командной строки с помощью curl и IFTTT

8 min read Tutorial Обновлено 07 Jan 2026
Пост в Facebook из командной строки через curl и IFTTT
Пост в Facebook из командной строки через curl и IFTTT

Краткое определение: IFTTT Webhooks (ранее Maker Channel) — триггер, который принимает HTTP-запросы и передаёт данные в рецепты IFTTT.

Предыдущая популярная утилита FBCMD (созданная Дэйвом Томпкинсом) перестала работать в 2015 году. Автор остановил поддержку по личным причинам, а Facebook изменил API, убрав старые возможности (например, offline_access) и переработав модель аутентификации. В результате инструмент больше не мог проходить аутентификацию и публиковать посты.

Командная строка с примером публикации в Facebook

Ниже — перевод выдержки из заявления автора (сокращённо):

«Я начал этот проект в 2007 году… сейчас у меня семья и работа. Я перестал использовать FBCMD. Facebook уходит от приложений с широкими правами доступа. Поддерживать программу было слишком тяжело: постоянные депрекации API 1.0 и изменения модели аутентификации стали последней каплей.»

curl-запрос для Facebook

Важно: FBCMD как проект умер, но идея — публиковать из командной строки — жива. Мы используем curl + IFTTT Webhooks как современную и простую замену.

Кому это подойдёт и когда это не сработает

  • Подойдёт тем, кто хочет быстро публиковать текстовые статусы, интегрировать локальные скрипты с Facebook или пробросить уведомления из локальных задач в соцсеть.
  • Не подойдёт для массовых, маркетинговых рассылок, управления множеством страниц/профилей с требованием сложных разрешений: для этого лучше использовать официальные API Facebook и SDK с проверкой приложения.
  • Установленный curl (Windows / Linux / macOS). Если на Windows — скачайте сборку curl.exe.
  • Аккаунт IFTTT и включенный сервис Webhooks (Maker).
  • Доступ к Facebook через ваш IFTTT-рецепт (IFTTT запросит разрешения при создании рецепта «Facebook — Create a post»).
  • Базовые навыки работы с CMD/PowerShell или Bash.
  1. Зайдите на официальный сайт curl и используйте Download Wizard, чтобы подобрать сборку для вашей ОС.
  2. Скачайте ZIP для Windows, распакуйте в локальную папку, например c:\curl.

Выбор версии curl для Windows

  1. Откройте командную строку (Выполнить → cmd) и перейдите в папку с curl. Введите:
curl.exe --version

Если curl установлен правильно, вы увидите строку с версией и поддерживаемыми протоколами.

  1. Для удобства добавьте путь к curl в системную переменную Path:
    • Откройте Панель управления → Система → Дополнительные параметры системы → Переменные среды.
    • В разделе «Системные переменные» найдите Path, нажмите Изменить и добавьте ;C:\curl\ (или путь к вашей папке).

Добавление curl в Path в Windows

  1. Перезагрузите терминал — теперь curl доступен из любой папки.

Примечание для Linux/macOS: curl обычно предустановлен. Проверьте curl –version. Если нужно обновить — используйте пакетный менеджер (apt, yum, brew).

  1. Зарегистрируйтесь или войдите в IFTTT.
  2. Подключите сервис Webhooks (иногда называется Maker) и перейдите на страницу настроек Webhooks.
  3. Найдите ваш ключ (API key). URL шаблон выглядит так:
https://maker.ifttt.com/trigger/{event}/with/key/{your_key}

{event} — имя события, которое вы зададите при создании рецепта. {your_key} — личный ключ Webhooks.

  1. Создайте рецепт (Applet):
    • IF THIS: Webhooks → Receive a web request → задайте событие, например post_facebook.
    • THEN THAT: Facebook → Create a status message (войдите в Facebook, чтобы связать аккаунт) → в поле Status message используйте {{Value1}} для передачи текста.

Настройка события Webhooks в IFTTT

  1. Сохраните рецепт. Запомните имя события — оно понадобится в URL.

Ниже — рабочие примеры команд для разных оболочек. В примерах замените YOUR_KEY на ваш ключ, а post_facebook — на имя события.

Важно: IFTTT ожидает POST-запрос с JSON, где поле value1 используется в шаблоне рецепта.

Пример для Linux / macOS (bash):

curl -X POST -H "Content-Type: application/json" -d '{"value1":"Мой первый пост из curl"}' "https://maker.ifttt.com/trigger/post_facebook/with/key/YOUR_KEY"

Пример для Windows CMD (обратите внимание на экранирование кавычек):

curl -X POST -H "Content-Type: application/json" -d "{""value1"":""Мой первый пост из curl""}" "https://maker.ifttt.com/trigger/post_facebook/with/key/YOUR_KEY"

Пример для PowerShell (предпочтительный способ на современных Windows):

$body = @{value1 = 'Мой первый пост из PowerShell'} | ConvertTo-Json
Invoke-RestMethod -Uri "https://maker.ifttt.com/trigger/post_facebook/with/key/YOUR_KEY" -Method Post -Body $body -ContentType 'application/json'

Если вы хотите URL-кодировать значения вручную (как в исходной статье), вы можете формировать строку запроса или использовать опцию curl –data-urlencode:

curl -X POST --data-urlencode "value1=My first post using a curl command" "https://maker.ifttt.com/trigger/post_facebook/with/key/YOUR_KEY"

Отладка: добавьте -v к curl, чтобы увидеть подробный вывод и заголовки.

  1. Запуск по расписанию на Windows (Task Scheduler):
    • Создайте .bat файл с curl-командой:
@echo off
curl -X POST -H "Content-Type: application/json" -d "{""value1"":""Автоматический пост из задания""}" "https://maker.ifttt.com/trigger/post_facebook/with/key/%IFTTT_KEY%"
  • В Планировщике задач укажите запуск .bat по расписанию.
  1. Запуск по cron на Linux:
0 9 * * 1 /usr/bin/curl -X POST -H 'Content-Type: application/json' -d '{"value1":"Еженедельный отчёт"}' 'https://maker.ifttt.com/trigger/post_facebook/with/key/YOUR_KEY'
  1. Автоматизация из Excel/Word: используйте VBA для вызова curl или PowerShell-скрипта (примеров в сети много). Идея — вызвать внешнюю команду, которая делает POST на IFTTT.

Шаблон переменных окружения (рекомендуется хранить ключ вне командной строки):

Windows (PowerShell):

setx IFTTT_KEY "YOUR_KEY"
# Для текущей сессии
$env:IFTTT_KEY = "YOUR_KEY"

Linux/macOS:

export IFTTT_KEY=YOUR_KEY

Вызов с переменной окружения (bash):

curl -X POST -H "Content-Type: application/json" -d "{\"value1\":\"$MY_MESSAGE\"}" "https://maker.ifttt.com/trigger/post_facebook/with/key/$IFTTT_KEY"
  • Команда возвращает HTTP 200/202 и IFTTT подтверждает получение (curl -v показывает 200).
  • Сообщение появляется в Facebook в течение нескольких секунд.
  • Ключ Webhooks хранится в переменной окружения или защищённом хранилище.
  • Выполнение задачи на автостарте (Task Scheduler / cron) проходит без пользовательского вмешательства.
  • Ошибка 404 при обращении к URL Webhooks: проверьте, правильно ли указано имя события и ключ.
  • Сообщение не появляется в Facebook: проверьте лог рецепта IFTTT (IFTTT показывает историю срабатываний) и убедитесь, что Facebook-аккаунт связан и авторизован в IFTTT.
  • Проблемы с кавычками в Windows CMD: используйте PowerShell или храните тело запроса в файле и подавайте через –data @file.json.
  • Ограничения IFTTT: если вы делаете слишком много запросов подряд, возможны задержки или временные блокировки. Для частых массовых публикаций лучше официальный API Facebook.
  • Никогда не храните ключ Webhooks в открытом репозитории. Используйте переменные окружения, защищённые файлы конфигурации или менеджеры секретов.
  • IFTTT получает содержимое ваших сообщений; продумайте, какую информацию отправляете (личные данные, номера, приватные ссылки).
  • Если вы интегрируете работу с персональными данными граждан ЕС, рассмотрите требования GDPR: получите согласие, документируйте обработку и обеспечьте право удаления данных.

Используйте Graph API, если вам нужно:

  • Публиковать от имени страницы с более тонкими правами и масштабированием.
  • Загружать медиа (фото/видео) большими объёмами.
  • Управлять комментариями, реакциями, аналитикой.

IFTTT + Webhooks хороши для простых, быстрых и одноразовых интеграций без разработки полноценного приложения.

Developer:

  • Подготовить скрипт с curl/Invoke-RestMethod.
  • Защищённо хранить ключи.
  • Настроить логирование ошибок и уведомления.

Admin:

  • Проверить права аккаунта Facebook, привязанного к IFTTT.
  • Настроить Task Scheduler / системный cron.
  • Обеспечить резервные способы остановки автоматических публикаций.

End user:

  • Тестировать посты с приватной группой/черновиком.
  • Убедиться, что форматирование и ссылки корректны.
  • Использовать официальное Facebook Graph API и OAuth-приложение (сложнее, но даёт контроль и масштабирование).
  • Прямые интеграции с другими сервисами автоматизации: Zapier, Make (Integromat) — имеют похожие Webhook-интеграции.
  • Использовать бот-платформы или специализированные SMM-инструменты для планирования и аналитики.
  • Модель: вы отправляете HTTP POST → IFTTT принимает событие → IFTTT выполняет действие (публикует в Facebook).
  • Эвристики:
    • Храните секреты отдельно.
    • Тестируйте рецепт в приватном канале/черновике перед массовым использованием.
    • Логи и подробный вывод curl (-v) — ваш первый инструмент для отладки.

Мини‑playbook (шаги для надёжной настройки на рабочей станции):

  1. Создать системный пользовательский аккаунт/папку для скриптов.
  2. Поместить скрипт публикации в защищённую папку.
  3. Установить переменную окружения IFTTT_KEY только для этого пользователя.
  4. Настроить планировщик задач под учётной записью без прав администратора.
  5. Включить логирование выполнения в файл и оповещения в случае ошибки (например, отправка ошибки на почту).
  • Тест 1: Отправка простого текста — сообщение появляется в Facebook в течение 30 секунд.
  • Тест 2: Отправка текста с кавычками и спецсимволами — сообщение не искажено.
  • Тест 3: Запуск через планировщик — задача выполняется в назначенное время без вмешательства.
flowchart TD
  A[Нужно постить из команды/скрипта?] -->|Да| B{Нужны ли
сложные права/масштаб?}
  B -->|Да| C[Используйте Graph API и OAuth]
  B -->|Нет| D[Используйте IFTTT Webhooks + curl]
  A -->|Нет| E[Используйте обычный UI Facebook]
  • IFTTT временно не отвечает — запросы не выполняются.
  • Facebook меняет политику взаимодействия со связями через IFTTT и ограничивает публикации (в прошлом соцсеть меняла разрешения для сторонних сервисов).
  • Длинные сообщения или вложения (медиа) не поддерживаются в том же виде — лучше Graph API.

Публикация в Facebook из командной строки с использованием curl + IFTTT — простой и быстрый способ автоматизировать текстовые посты, интегрировать локальные скрипты и отправлять уведомления. Для единичных задач и простой автоматизации это хорошая альтернатива устаревшему FBCMD. Для крупномасштабных, медиа‑насыщенных или коммерческих задач рассматривайте официальные API и проверку приложений.

Important: храните ключи безопасно и тестируйте изменения в приватном окружении.

Резюме:

  • Установите curl и проверьте его работу.
  • Настройте IFTTT Webhooks и рецепт Facebook → Status message (используйте {{Value1}}).
  • Отправляйте POST-запросы из CMD/PowerShell/терминала и автоматизируйте через Task Scheduler или cron.

Если хотите, могу прислать готовые .bat и .sh шаблоны с учётом ваших требований (формат сообщения, расписание, логирование). Хотите шаблон сейчас?

Текстовый пост, отправленный через командную строку и появившийся в ленте Facebook

Скриншот создания события в IFTTT Webhooks с указанием URL и ключа

Пример распакованных файлов curl в папке на Windows

Понимание вывода curl --version и теста HTTP

Откройте Диспетчер задач и Добавьте задачу автозапуска для curl

Форма задания текста статуса в рецепте Facebook на IFTTT

Пример создания записи Facebook через IFTTT с полем value1

Краткие выводы

  • Технология: curl + IFTTT Webhooks — простой путь публиковать в Facebook из командной строки.
  • Безопасность: храните ключи в переменных окружения и избегайте публикации чувствительных данных.
  • Масштаб: для серьёзного управления страницами используйте Graph API.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство