Задать вопрос
@RuWproSha

Как правильно создать отложенную публикацию в Одноклассниках и в Вайбере?

Суть такая: пишу небольшой корпоративный SMM-planner.
Рассылки идут на ВК, ОК, Вайбер.
Сами рассылки работают везде, все ок.
Однако, возникла проблема с отложенными по времени публикациями.
Используя timestamp в секундах в ВК все хорошо работает с помощью поля 'publish_date' .
В ОК в документации есть поля:
'publishAt' => '2023-05-01T09:40:00+03:00',
'publishAtMs' => $publish_date * 1000,

Однако публикация срабатывает в момент отработки скрипта, а эти поля (*примечание: использую одно из них, а не оба сразу) игнорируются. Пробовал ставить и на 4 суток вперед, чтобы не накосячить с таймзонами, однако ничего не работает. Полный игнор этих полей.
В вайбере в документации я и вовсе не нашел, как делать отложенную публикацию ( публиковать необходимо на канал, а не в бота).

Вопрос: Как решить эти две проблемы, с ОК и ВАЙБЕРОМ, подскажите?

P.S. Как я уже сказал, все публикуется хорошо, все работает, кроме отложенных публикаций. Все необходимые права и т.п. есть.

Пользуясь сайтом https://www.cy-pr.com/tools/time/#refresh , вручную получаю значения в секундах timestamp .
Например, значение 1682923200 соответствует дате и времени:
GMT: Mon, 01 May 2023 06:40:00 GMT
Ваша временная зона: 01.05.2023, 09:40:00

В ВК все корректно работает, публикация откладывается на указанную дату и время. ( 10-значное число, в секундах ).
В ОК в документации указано, что поле publishAtMs должно быть указано в мс. Так и делаю, умножая на * 1000. Однако, как я сказал выше, происходит полный игнор этого поля и публикация происходит в момент выполнения скрипта. Это ПЕРВАЯ проблема.
В Viber вовсе не нашел, как откладывать публикацию на КАНАЛ. Это ВТОРАЯ проблема.
Вот эти две проблемы и прошу Вас помочь мне разрешить:

отложенная публикация в ОК и в Viber на канал.

P.P.S: Экспериментировал с таймзонами, 10-значными (сек) значениями и с 13-значными (мс) значениями. В тех. поддержку писал - не отвечают. Возможно, что-то изменилось и иначе поля теперь называются. Или же, возможно, по-другому timestamp формировать нужно?? Уже совсем не знаю, что делать. Уповаю лишь на вашу помощь! :)

Прилагаю фрагмент PHP с POST запросом (открытые данные я изменил; напомню - код работает корректно (кроме отложенных публикаций)):
$publish_date = 1682923200; // 01.05.2023, 09:40:00

ОК
$paramsArray = [
    'application_key'=> $application_key,
    'access_token'=> $user['access_token'],
    'type'=> 'USER',
    'attachment'=> json_encode($media),
    'format' => 'json',
    // 'create_date' => 1682923200, // где-то в интернете встретил это поле, тоже пробовал. Не работает
    // 'publishAt' => '2023-05-01T09:40:00+03:00',
    'publishAtMs' => $publish_date * 1000,
    'method' => 'mediatopic.post',
    ];

Viber
$postDetails = array(
    "auth_token" => $accessToken, 
    "from" => 'LESjOs/T7/bmZznrA==', 
    "type" => "picture", 
    "text" => $message,
    "media" => "https://lux.ru/tmp/SMM-plaNNer/test/img/Cat.jpg",
); // в Viber'е вовсе не нашел, какое поле необходимо передавать
  • Вопрос задан
  • 187 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@Ru4slan
В общем, у меня такая же проблема была. Надо этот параметр класть не отдельно, а сразу после media, как здесь указано:

{"application_key": ABC, "client_id": 111, "redirect_uri": https://ok.ru, "method": mediatopic.post, "gid": 70, "type": GROUP_THEME, "attachment": {"media": [{"type": "text","text": "Текст новости"}, {"type": "photo","list":[
{"id": "1O" }
]} ], "publishAt":"2024-01-30 19:00:00" } ]}, "format": json}

То есть, этот параметр находится в attachment
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы