No featuring image on cross-posted posts in vk
-
Добрый день. это началось пару недель назад. Раньше при крос-постинге постилось краткое содержание, миниатюра записи и ссылка. Сейчас миниатюра больше не постится, а сам кросс-пост вконтакте выглядт как будто только ссылку вставили. Красота пропала. Нельзя ли это поправить?
-
nata-lee
Подозреваю, что у вас схожая с моей проблема. Вероятно какой-то из ваших плагинов изменяет порядок генерации изображения, и получается что пост сначала отправляется, а изображение генерируется позже.
В моем случае это плагин Video Thumbnails. Пришлось немного изменить код, чтобы это работало. Если хотите я вышлю вам модификацию, но обязан предупредить – некоторые функции и настройки плагина могут не работать корректно. Зато у меня теперь постится изображение)
Автор, если вы увидите эту тему, я могу выслать изменения вам также, или если у вас есть публичный git-репозиторий, могу оформить fork и сделать pull request.antongorodezkiy, спасибо за ответ. Конечно, если не сложно, поделитесь модификацией.
Я провела расследование, последний раз картинка постилась 7 июня, а 10 июня уже ее не было. За это время я ни одного плагина не обновила. А те плагины, что обновились позже, вроде как вообще не участвуют в сохранении постов. Так что не представляю как мне искать врага народа среди оставшихся 60 плагинов ??Держите, выложил на pastebin https://pastebin.com/Vna2NGxL
Там я закомментировал action’ы отвечающие за публикацию, вместо них навесил action на save_post, которому дал наинизший приоритет, чтобы он выполнялся последним.
В самой функции
skylark_vkcp_post_on_vkontakte_wall()
добавил условие, которое запрещает повторную публикацию. По сути теперь настройки в редакторе поста игнорируются – при публикации запись будет отпрапвлена на vk, ее id сохранен, при последующих публикациях пока id присутствует в post metaskylark_vkcp_vk_wall_id
, пост не будет опубликован в vk.Делал на коленке, поэтому так вот кривенько. Если автор заинтересуется, мы конечно можем довести это до ума и сделать совместимость с текущими настройками плагина.
Спасибо, скачала попробовала, в моем случае вообще не происходит кросс-постинга. Кстати, с другим плагином тоже не кросспостится. А изменений в API точно не было?
Я только сегодня пару статей отправил, так что не думаю, что дело в API.
В плагине найдите этот код:$result = requestVK('wall.post', array( 'owner_id' => '-' . $group_id, 'message' => $text, 'from_group' => 1, 'attachments' => $attachments ));
и попробуйте вывести на экран $result:
$result = requestVK('wall.post', array( 'owner_id' => '-' . $group_id, 'message' => $text, 'from_group' => 1, 'attachments' => $attachments )); die('<pre>'.(__FILE__).':'.(__LINE__).'<hr />'.print_r($result,true).'</pre>');
Думаю это может прояснить ситуацию.
Не знаю, в чем было дело вчера, сегодня я повторно запустила Ваш код со строкой и получила:
/path/wp-content/plugins/vkontakte-cross-post/vkcrosspost.php:369
{“response”:{“post_id”:1861}}Сообщение кросс-постнулось, но опять же, без картинки.
оригинальный плагин выдал то же самое:
/path/wp-content/plugins/vkontakte-cross-post/vkcrosspost.php:351
{“response”:{“post_id”:1860}}к сожалению, я не знаю, что должна получить в правильном случае, когда картинка постится
Я попробовала другой плагин для кросс-постинга, он выдает ошибку One of the parameters specified was missing or invalid: photos_list is invalid.
Нашла, что у других та же проблема началась 8 июня (как и у меня).{“response”:{“post_id”:1860}} – это как раз нормальный ответ – id вашего поста в VK, не зависимо от того, с картинкой он передан или без, ответ будет одинаковым. Я думал у вас там будет какое-то сообщение об ошибке. Это как раз для случаев, когда сообщение вообще не отправляется.
Ну а так я думаю надо копать в функции
sendImageToVK()
, вывести на экран то, что возвращают функцииrequestVK()
, там два вызова.$thumbUploadUrl = requestVK('photos.getWallUploadServer', array( 'gid' => $group_id ));
и
$saveImageResult = requestVK('photos.saveWallPhoto', array( 'server' => $uploadResultObj->server, 'photo' => $uploadResultObj->photo, 'hash' => $uploadResultObj->hash, 'gid' => $group_id ));
соответственно надо узнать, что в
$thumbUploadUrl
и$saveImageResult
.Ну что ж, результат получен – фотка заливается вроде как, но photoes.saveWallPhoto выполняется с ошибкой “One of the parameters specified was missing or invalid: photos_list is invalid”
$thumbUploadUrl:
/path/wp-content/plugins/vkontakte-cross-post/vkcrosspost.php:256
{“response”:{“upload_url”:”http:\/\/cs616117.vk.com\/upload.php?act=do_add&mblablabla” “aid”:-14,”mid”:mnogacifr}}$saveImageResult:
/path/wp-content/plugins/vkontakte-cross-post/vkcrosspost.php:280
{“error”:{“error_code”:100,”error_msg”:”One of the parameters specified was missing or invalid: photos_list is invalid”,”request_params”:[{“key”:”oauth”,”value”:”1″},{“key”:”method”,”value”:”photos.saveWallPhoto”},{“key”:”server”,”value”:”616117″},{“key”:”photo”,”value”:”[]”},{“key”:”hash”,”value”:”mnogacifr”},{“key”:”gid”,”value”:”mnogacifr”},{“key”:”access_token”,”value”:”mnogacifr”}]}}Да, довольно странно. Пока что никаких идей)
я вообще смотрю, в документации к этим функциям апи в качестве результатов другие переменные выдаются, т.е. они переименованы по сравнению с документацией. так что вообще хрен разберешься ??
Насколько я понимаю, {“key”:”photo”,”value”:”[]”} это ложное значение.Точно. Ошибка вызвана {“key”:”photo”,”value”:”[]”} вот этими квадратными скобками.
из документации:
Сохраняет фотографии после успешной загрузки на URI, полученный методом photos.getWallUploadServer.photo – параметр, возвращаемый в результате загрузки фотографии на сервер.
строка, обязательный параметрпо ссылке на загрузке фотографий на сервер (https://vk.com/dev/upload_files) видим, что в том списке метода photos.getWallUploadServer вообще нет.
Рад что у вас получилось!
Плагшин насколько я понимаю не обновлялся с 2013 года, наверняка какие-то методы API устарели.Сменила photos.getWallUploadServer на photos.getOwnerPhotoUploadServer, теперь при вызове photos.saveWallPhoto поле photo больше не пустое, но ошибка все равно та же. не понятно
В общем я обновила токен и теперь вообще ничего не кросспостится ??
- The topic ‘No featuring image on cross-posted posts in vk’ is closed to new replies.