Виджет «Мне Нравится» Вконтакте Кэширует Параметры

Думаю, все знают, что делает виджет «Нравится».

Для несведущих поясню — виджет добавляет на HTML-страницу одноименную кнопку, при нажатии на которую счетчик увеличивается.

Пользователь также может рассказать о странице на своей стене ВКонтакте.

Этим виджетом пользуются многие, но в свободном Интернете нет ни одного упоминания о серьезном подводном валуне.

Дело в том, что после первого использования параметры виджета навсегда кэшируются на серверах ВКонтакте и изменить их без сброса счетчика невозможно.

Для демонстрации проблемы возьмем стандартный скрипт виджета с официальной страницы разработчика ВКонтакте:

  
   

<!-- Put this script tag to the <head> of your page --> <script type="text/javascript" src=" http://vk.com/js/api/openapi.js?64 "></script> <script type="text/javascript"> VK.init({apiId: YOUR_APP_ID, onlyWidgets: true}); </script> <!-- Put this div tag to the place, where the Like block will be --> <div id="vk_like"></div> <script type="text/javascript"> VK.Widgets.Like("vk_like", {type: "full", pageTitle: "TEST_TITLE", pageDescription: "TEST_DESC"}); </script>

Вам необходимо вставить этот код на страницу, которая будет находиться в домене приложения ВК.

Например, для приложения выбран базовый домен example.com, тогда страницу необходимо разместить в этом домене или одном из его поддоменов: example.com/vktest.html, local.example.com/vktest.html и т.д. После нажатия на кнопку, авторизации и нажатия на «Рассказать друзьям» на вашей стене ВКонтакте появится соответствующая запись.

Теперь вернемся на нашу страницу и еще раз нажмем «Мне нравится» — счетчик обнулится и пост на стене исчезнет. Проблема решена? Проверить можно изменив параметры виджета на другие.



VK.Widgets.Like("vk_like", {type: "full", pageTitle: "REAL_TITLE", pageDescription: "REAL_DESC"});

Обновите страницу, снова нажмите «Мне нравится» и «Рассказать друзьям».

Во всех своих тестах я видел старые TEST_TITLE и TEST_DESC. Этот пример, конечно, не очень точен.

Возможно, достаточно подождать некоторое время, и кеш виджета с нулевым использованием сбросится сам.

Однако это отличная демонстрация проблемы.

Если вы настроили виджет с тестовыми данными и счетчик больше нуля, вы больше не сможете изменить параметры виджета.

Параметры виджета включают заголовок, описание, изображение.

Единственный способ обновить эти параметры — сбросить счетчик.

Об этом мне сообщили в тех.

Поддержка ВК:

Виджет «Мне нравится» ВКонтакте кэширует параметры

Сбросить счетчик можно либо указав page_id в качестве третьего параметра, либо изменив URL страницы.

Очевидно, что это не подойдет для страницы, у которой уже более 500 лайков.

Я занимался разработкой интеграций для нескольких социальных сетей.

Надо сказать, с такой проблемой я столкнулся впервые.

Да я даже и не помню, когда в последний раз видел, что в системе невозможно сбросить кэш.

Более того, в документации ВКонтакте об этой возможности не сказано ни слова.

Совет разработчикам интеграции: протестируйте виджет на фейковых URL, например example.com/fake.html. Или измените page_id перед выпуском страницы.

Документация виджета на сайте разработчиков ВКонтакте .

Теги: #API ВКонтакте #Разработка сайтов #API ВКонтакте

Вместе с данным постом часто просматривают: