Разрешить конечным клиентам редактировать URL-адрес кнопки «Нравится» и теги Open Graph

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

Цель: мы создаем новый дополнительный дочерний сайт, чтобы дать возможность многим конечным клиентам разместить их на своих серверах, чтобы их сайт мог быть построен на Windows или Unix. Имея это в виду, мы решили создать его в HTML и Javascript. Включение выдаст рекомендацию по продукту после ряда вопросов, и у пользователя будет возможность отметить рекомендацию в Facebook.

Вопрос. Если бы конечным клиентам были указаны правильные метатеги og в коде, могли бы они заменить домен в og:URL?

Исследование: я искал похожую проблему на этом сайте, но не нашел ничего похожего, кроме В чем разница между кнопкой «Мне нравится» с META-тегами Open Graph или без них? Я создал тест App и связал его с моим тестовым URL-адресом на моем сервере и понял, что при нажатии кнопки «Мне нравится» Facebook перезагружает страницу и собирает метаданные og. Я использовал эти знания для реализации генератора случайных продуктов с использованием JQuery для записи другого og:description, чтобы проверить идею о том, что конечный пользователь может получить любой из многих рекомендуемых продуктов, которые они могут поставить лайк, по одному и тому же конечному URL-адресу (например, http://www.domain.com/yourRecommendedProduct.html).

Я также понимаю, что если URL-адрес изменен на моем тестовом сервере, и я вызываю свое приложение, используя fb:app_id, приложение использует URL-адрес веб-сайта для вызова моего исходного URL-адреса и любит старый og:description.

В документации дочернего сайта я надеюсь, что смогу сообщить конечным клиентам, что они могут редактировать og:url для своего домена, og:image для логотипа своей компании — og:description будет сгенерировано на лету с использованием Javascript с помощью ряда вопросов. .

Но из того, что я видел, если вы отредактируете og:url, он не будет соответствовать тому, что в приложении.

Можете ли вы реализовать кнопку FB Like с помощью тегов Open Graph, НЕ ссылаясь на приложение FB? Просто прочитайте что-то еще, появившееся на панели «Похожие вопросы», в котором, казалось, говорилось, что идея Open Graph заключалась в создании ссылки между одной страницей и созданием страницы в Facebook, что, похоже, выходит за рамки того, что мне нужно. Так что я, вероятно, где-то пропустил шаг, просто создав глупую простую кнопку «Нравится» с метаданными og ??

Большое спасибо за любые указатели или помощь Фрэнку


person Frank Bradshaw    schedule 16.02.2012    source источник
comment
Я также столкнулся с другой стеной - я только что узнал, что данные кнопки «Мне нравится» собираются при загрузке страницы, и хотя я могу настроить метатеги og с помощью jQuery, исходные данные уже использовались для создания скрытого окна «Мне нравится», которое появляется. Таким образом, кажется, что я могу генерировать метатеги свойств og только с использованием языка на стороне сервера; если я не упускаю что-то очевидное? (день был долгим, сильная зубная боль и отсутствие стоматолога = мозг работает неправильно...)   -  person Frank Bradshaw    schedule 16.02.2012


Ответы (2)


Как вы указали, линтер Facebook не запускает JavaScript.

Таким образом, вы должны заставить свой веб-сервер выдавать правильные теги og по запросу линтера. Таким образом, URL-адрес, который вы используете в коде Like, будет иметь решающее значение. Вам понадобится способ, чтобы этот URL-адрес был уникальным, а также чтобы веб-сервер знал, какие теги og отображать для него.

Таким образом, ваше решение будет либо знать уникальные URL-адреса каждого продукта, либо ваше решение должно будет включать код на стороне сервера, который создает уникальный контент для каждого продукта (может быть, что-то вроде /getProduct.php?id=123 или REST, например / изделия /123/).

person DMCS    schedule 16.02.2012
comment
Ура DMC - есть ли ЛЮБОЙ способ сделать это на стороне клиента; Я хочу полностью изучить это, прежде чем переходить на серверную часть. Я где-то читал, что когда вы лайкаете, facebook перезагружает страницу, чтобы очистить «метаданные»? Я просмотрел версию ‹iframe›, в которой есть обратная ссылка на URL-адрес сайта. Выполняет ли это перезагрузку? Забавно, что динамически записывать ‹meta› теги на стороне сервера так просто, но как только эти заголовки были отправлены, все... я все еще экспериментирую на стороне клиента, так что, надеюсь, что-то получится. - person Frank Bradshaw; 17.02.2012
comment
Я только что связался с другим разработчиком проекта — к счастью, список продуктов будет состоять только из 9 или 12 позиций. Итак, вы отвечаете на вопросы, а затем получаете рекомендацию Product1, 2, 3 и т. д. Таким образом, наличие 9–12 уникальных URL-адресов может быть приемлемым, например, domain.com/recommendedProduct1.html, и встроенные теги свойств, жестко закодированные для каждого элемента. Это сработает; Я просто пытался быть эффективным кодом, имея одну страницу конечного результата, на которую были записаны результаты (используя localStorage). Будет ли по-прежнему работать указание конечным клиентам заменить domain.com/product1.html своим доменом в iframe? - person Frank Bradshaw; 17.02.2012
comment
Вы можете использовать одну страницу в качестве уникального URL-адреса для каждого. Если ваш разработчик проекта не знает, как сделать последний абзац в моем первоначальном ответе, то пришло время уволить его и найти разработчика проекта, который знает, как кодировать. Это супер базовая вещь, ничего волшебного. Они должны знать, как это сделать, если вы платите им большие деньги за то, чтобы они были разработчиками проекта. - person DMCS; 17.02.2012
comment
LOL, я спешу добавить, что я главный разработчик этого проекта... возможно, разработчик проекта должен был быть планировщиком проекта... но я понимаю, что вы имеете в виду, говоря об использовании чего-то вроде php для одной страницы, на которую пишет mysql. ЕСЛИ я использую только html для создания 10–12 статических страниц, не застряну ли я, если скажу клиенту изменить домен в og:image или og:url и т. д., чтобы показать их логотип или название компании, потому что приложение, на которое ссылается Like, имеет URL-адрес сайта, указывающий на мой тестовый сервер. Итак, в конечном счете, могу ли я реализовать кнопку «Нравится» без обратной ссылки на app_id? - person Frank Bradshaw; 17.02.2012
comment
В качестве теста я создал php-страницу с серией массивов со случайными данными о продукте, а затем эхом отослал эти случайные данные сначала в метатеги, а затем в ‹body›, чтобы я мог видеть, что было сгенерировано. . Я нажимаю «Мне нравится», все работает (логотип, описание продукта, выдуманное имя клиента, ссылка на сайт клиента), КРОМЕ обновленного контента? Когда вы нажимаете «Мне нравится», страница перезагружается и данные повторно очищаются или что-то в этом роде? Это просто академический вопрос - при развертывании я не буду использовать случайные данные; но кажется, что при нажатии лайка страница перезагружается - это правда? - person Frank Bradshaw; 17.02.2012
comment
Страница будет перезагружена только тогда, когда страница/приложение находится на вкладке фан-страницы. В противном случае на обычной веб-странице, где есть кнопка «Мне нравится», это не должно вызывать обновление страницы. Не видя вашего кода, сложно ответить. Пожалуйста, начните другой вопрос для этого, так как он отличается от того, который вы изначально задали. - person DMCS; 17.02.2012

http://forum.developers.facebook.net/viewtopic.php?id=71904

Это отвечает на все мои вопросы. Как легко и просто создать кнопку «Мне нравится» без использования приложения — официальная документация FB не переходит от руководств для начинающих к продвинутому уровню, что, ИМХО, должно привести к меньшему количеству вопросов здесь.

Также любые новички здесь читают это; как только вы обновите свой код и отправите его на сервер, отправьте ссылку в отладчик FB, поскольку он обновляет содержимое в FB.

Также используйте «FB Insights», чтобы узнать свой номер администратора fb:.

Спасибо за помощь DMCS.

person Frank Bradshaw    schedule 22.02.2012
comment
Это ответило на мой вопрос. Можете ли вы указать конечному клиенту отредактировать кнопку «Нравится»? потому что он показывает, как настроить кнопку «Мне нравится» и что вам не нужен app_id, чтобы она была на вашей странице; поэтому вы можете иметь один и тот же код на разных статических страницах, но просто настроить URL, изображение, описание и т. д. для каждой страницы/клиента. - person Frank Bradshaw; 22.02.2012
comment
Ссылка, которую вы разместили, мертва :( - person NT3RP; 30.08.2012