Undocumented endpoint или попытки борьбы с имитацией активности «пользователя»?
Актуальность
Стоит учитывать, что данная статья актуальна для v=5.92. За последующие изменения работы VK API автор ответственности не несет.
В процессе изучения возможностей VK API столкнулся с, казалось бы, нелогичной вещью: обыкновенный пользователь имеет возможность добавить репост в отложенные записи:
При это в документации API про это ни слова:
Обращение в службу поддержки ВКонтакте
По секрету скажу, что поддержка ВКонтакте также утверждает об отсутствии такой возможности с помощью использования методов API.
… или прикидываются?
Тогда было принято решение посмотреть, что из себя представляет запрос при отправке репоста в отложенные записи:
И что же вы видим? Некий параметр postpone с параметром удивительно похожим на Unix Timestamp.
Проверяем… и правда, дата та, которую мы указывали во времени публикации:
НО не все так просто, потому что при следующем коде:
delay_repost = vk_api.wall.repost(object=f'wall{-7486164_1052}', postpone=1735637040)
получает следующий ответ:
VkAPIError: 100. One of the parameters specified was missing or invalid.
Тут на помощь пришла смекалка. Ведь в методе wall.post был требуемый параметр, но назывался он иначе:
Меняем название параметра на publish_date:
delay_repost = vk_api.wall.repost(object=f'wall{-7486164_1052}', publish_date=1735637040)
Запись добавлена в отложенные и будет опубликована в указанные дату и время.