Интеграция функции «Поделиться фото» ВКонтакте в Next.js приложение

На сайте, построенном на Next.js с использованием App Router, реализована функция покупки и скачивания фотографий. Требуется добавить возможность для авторизованных пользователей делиться фото во ВКонтакте.

Для обхода ограничений авторизации создан специальный публичный роут: /public/vk-share?share_image_url={{url}}. На этой странице настроены метаданные Open Graph для корректного отображения контента в социальных сетях.

Текущая реализация

В файле страницы /public/vk-share настроена генерация метаданных:

  • Заголовок: «Поделиться фото»
  • Описание: «Фото для публикации ВКонтакте»
  • Open Graph теги с указанием URL, названия сайта и изображения (с параметрами width, height, alt)
  • Дополнительный тег image_src

На защищенной странице размещена ссылка для шаринга, которая ведет на конструктор ВКонтакте:

<Link href=`https://vk.com/share.php?url=https://${ENV_FRONTEND_DOMAIN}/public/vk-share?share_image_url=${url}`>...</Link>

Проблема

При переходе по ссылке открывается страница ВКонтакте «Поделиться ссылкой», однако при отправке или предпросмотре изображение не отображается.

Предположения о причинах

  • Возможно, используется неподходящий API ВКонтакте для передачи изображений
  • Мета-теги Open Graph могут быть настроены некорректно или недостаточно
  • Отсутствует доступная документация по конкретной реализации этой функциональности

Требуется помощь в определении корректного метода реализации функции шаринга изображений ВКонтакте с использованием мета-тегов и API социальной сети.