Facebook Открыть график с GWT - PullRequest
0 голосов
/ 05 марта 2012

Мы разрабатываем страницу с GWT, у которой есть представление списка, и выбирая элемент, он открывает деталь в стиле ajax, на странице нет обновления, и новое представление отображается на клиенте.Когда эта деталь отображается (или доступ к ней осуществляется непосредственно по ее URL-адресу), мета-теги для Open Graph устанавливаются в заголовке.Эта деталь - наш объект Open Graph.

Проблема в том, что установка метатегов по коду (даже в начале метода onModuleLoad) не работает, потому что Facebook не обнаруживает их, когда пользователь выполняет действиеи Facebook считает, что эта страница не является открытой графикой.Мы предполагаем, что FB читает страницу напрямую, без выполнения какого-либо javascript.

Любые идеи или обходной путь с этим?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 марта 2017

Более свежая информация, на которую можно сослаться:

Поместите теги OpenGraph в ваш HTML-рендеринг на стороне сервера, как подробно описано здесь: http://www.gwtproject.org/articles/dynamic_host_page.html#servlet

Поскольку Google считает, что сканирование AJAX устарело, они рекомендуютс использованием рендеринга HTML на стороне сервера: https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html

1 голос
/ 05 марта 2012

Вам понадобится серверная часть с обработчиком, который берет идентификатор объекта из строки или пути запроса и выполняет две вещи:

  1. выпишите правильные теги для фейсбука.
  2. 'Deep-Link' в ваше приложение GWT, чтобы показать подробный вид для объект.

Так что для URL-адресов, таких как:

http://myapp.com/og/?type=movie&id=1234
http://myapp.com/og/?type=film&id=6789

Вывод HTML должен содержать все теги для указанного объекта, и он должен запускать ваше приложение GWT с «закладкой» или другой информацией, необходимой для перехода к подробному виду.

Каждый объект должен иметь свой собственный постоянный, отдельный URL. Поэтому, когда вы передаете его в API Facebook, Facebook может «сканировать» его, и они могут публиковать его в виде ссылки в новостных лентах и ​​т. Д. (Так что машиночитаемые и отображают соответствующий контент для не-машин!)

Это должно пройти тест здесь: http://developers.facebook.com/tools/debug

...