Комментарии 10
Это здорово, у ВК много подобных скрытых "фич".
Только мне кажется, что это больше подходит под категорию пост, чем под статью на Хабре.
Пост очень неудачно ограничен по длине. Всегда чуть-чуть не хватает, чтобы нормально объяснить мысль.
В процессе изучения возможностей VK API столкнулся с, казалось бы, нелогичной вещью: обыкновенный пользователь имеет возможность добавить репост в отложенные записи:
А лично мне кажется эта вещь сверхлогичной.
Для живого человека функциональность нужна и полезна. Для кремниевой машины вообще бессмысленна. Робот может сам на своей стороне дождаться нужного времени и сделать вызов. Раз параметр не добавляет ценности, то и логично не фиксировать его в публичном контракте (ибо любая фиксация чего-либо в публичном контракте не даётся бесплатно - это всегда обязательство поддерживать его в будущем, как минимум)
Эта функциональность радикально снижает требования к надежности софта и инфраструктуры, осуществляющих критичный ко времени постинг. Чтобы отправить API-запрос хоть когда лишь бы до следующего понедельника достаточно запускающегося по расписанию скрипта на домашнем компьютере, сутки без интернета или электричества ничего принципиально не изменят. Чтобы отправить запрос ровно в заданный момент, нужно, чтобы кремниевая машина в этот момент работала, была на связи и софт мог обработать всякие неожиданности оперативно и корректно, потому что дожидаться вмешательства человека времени уже нет.
Все зависит от Ваших задач и интересов в данной теме.
Но в целях минимизации нагрузки, допустим, на сервер и автоматизации самого процесса, логичнее было бы иметь скрипт, который не нужно держать в постоянно работающем состоянии, а который способен за один запуск выполнить все необходимые задачи на месяц вперед, условно.
А вы доверяете API VK тому, что он действительно опубликует ваше сообщение в нужное вам время? Я так понимаю, что если ваш скрипт не работает всё время, то вы не можете знать, было ли ваше сообщение выложено.
Суть как раз в том и состоит, что скрипт добавляет записи в отложенные посты на стене пользователя, от которого он выполняется и дальнейшая их публикация уже никак не зависит от работы скрипта.
Если вопрос недоверия, то это всегда можно перепроверить: после корректного выполнения кода, все записи будут отображаться во вкладке "Отложенные" на странице "Моя страница" пользователя с указанием конкретных даты и времени, что и показано на крайнем скриншоте статьи:

Запись добавлена в отложенные и будет опубликована в указанные дату и время.
А вы доверяете обещанию API опубликовать сообщение прямо сейчас, если вы его об этом попросите? Будете проверять, что пост действительно появился, а не просто статус ответа?
Если наш гипотетический наколенный скрипт в планировщике дорос до таких требований к надежности, то он вполне может переехать на VPS, обзавестись проверками что новый пост появился в отложенных, а отложенный опубликовался когда надо, мониторингом с алертами и прочими атрибутами серьезного софта, но возможность отложенного постинга все равно будет позволять успешно отработать в ситуациях, с которыми имея только мгновенный постинг справиться не выйдет или выйдет сильно дороже.
Undocumented endpoint или попытки борьбы с имитацией активности «пользователя»?