Разрешение нескольких доменов для 1 приложения Facebook (например, Tumblr)
Я пытаюсь проверить свой сайт с помощью отладчика объекта Facebook, и я столкнулся с следующей ошибкой:
Объект по URL 'http://www.example.com/latest' типа "smallteaser: teaser" недействителен, поскольку домен "www.example.com" не разрешен для указанного идентификатора приложения '597566643589666'.
Эта ошибка имеет прекрасный смысл, так как я не разрешил конкретному доступу домена example.com к приложению Facebook. Но мне действительно нужно?
То, что я хотел бы достичь, похоже на то, как Tumblr работает, когда используется пользовательский домен.
Скажем, например, веб-сайт www.davidslog.com: он имеет следующие метатеги:
<meta property="fb:app_id" content="48119224995" />
--> This is the Tumblr app ID
<meta property="og:url" content="http://www.davidslog.com/?og=1" />
--> This is a custom domain which points to a Tumblr blog
<meta property="og:type" content="tumblr-feed:tumblelog" />
--> This is a custom Tumblr object type (in namespace tumblr-feed)
И если вы затем сравниваете это, например, с доменом theartofnotwriting.tumblr.com, который имеет следующие метаданные:
<meta property="fb:app_id" content="48119224995">
--> This is the same Tumblr app ID
<meta property="og:url" content="http://theartofnotwriting.tumblr.com/?og=1">
--> This is a different domain
<meta property="og:type" content="tumblr-feed:tumblelog">
Вы можете ясно видеть, что одно и то же приложение Tumblr имеет несколько URL-адресов, и все проверено правильно.
Так почему же эта страница Tumblr правильно проверяется, а моя нет? Как настроить приложение Facebook для использования в нескольких доменах?
Ответы
Ответ 1
Я столкнулся с этой проблемой. Я подумал, что у Tumblr должно быть какое-то партнерство с Facebook для получения этого специального лечения (ip whitelist? Special api?), Поэтому я связался с моим бывшим партнером по партнерству в Facebook, чтобы узнать.
Мне нужно поговорить с инженером платформы в Facebook об этом, и я был совершенно неправ. Нет ничего особенного.
Причина, по которой все домены, запущенные на Tumblr, проверяют корректность с помощью одного app_id, заключается в том, что средство отладки facebook проверяет справедливость структуры og_tag (по крайней мере, когда дело доходит до app_id). Он не проверяет правильность связи app_id с данным доменом.
Вы можете протестировать это, разместив тестовую страницу с вашим app_id на двух разных доменах - они оба будут проверяться как отлично в инструменте отладки.
Когда дело доходит до фактического доступа к API Facebook, Tumblr делает все на своем домене. Когда люди используют кнопки Facebook/etc на Tumblr, это часто происходит с помощью стороннего прокси-инструмента (например, ShareThis) или с помощью встроенной кнопки non-api. Я не мог найти ни одного настраиваемого домена, работающего на Tumblr, который использовал связанные с Facebook API или связанные с app_id кнопки. Если можно, я бы с удовольствием это увидел.
Это не ответ, который вы хотите (или я хочу), но это то, что происходит. Tumblr app_id появляется во всех доменах, но работает только на ".tumblr.com"; Инструмент отладки Facebook фактически не проверяет приложение app_id.
Ответ 2
Как настроить приложение facebook для использования в нескольких доменах?
Это не может. Приложения Facebook привязаны к одному домену (и его поддоменам).
Представьте, что произойдет иначе - кто-то может добавить много (больших) веб-сайтов в одно приложение, а затем f.e. встраивать JS SDK в каждый из них и распознавать пользователя, подключенного к этому приложению через "половину Интернета"... и таким образом отслеживать их (почти) каждый шаг.
Facebook, конечно, не хочет этого¹ - потому что они хотят зарабатывать деньги, которые они собирают о пользователях и их движениях через Интернет (они могут теоретически отслеживать вас на каждом сайте, который использует простую кнопку) - они были бы глупыми, если бы они дали ту же самую способность каждому разработчику приложения.
¹ ОК, это мое собственное предположение.
Ответ 3
Вы не можете добавить несколько доменов, если домены не отличаются только расширением или субдоменом.
В приведенном ниже примере cuponeados
отличается только расширением домена (.com
vs .com.ar
), поэтому разрешены как cuponeados.com.ar
, так и cuponeados.com
:
![enter image description here]()
См. этот ответ здесь: Необходимо добавить несколько доменов в одном приложении Facebook
Ответ 4
Как настроить приложение Facebook для использования на нескольких домены?
Если вы попытаетесь добавить несколько доменов в настройки приложения, вы получите сообщение об ошибке, которое выглядит так:
example.com должен быть получен из одного из: URL-адреса сайта, URL-адрес мобильного сайта, URL холста, URL защищенного холста, URL-адрес страницы или URL-адрес страницы защищенной страницы.
example.org должен быть получен из одного из: URL сайта, URL мобильного сайта, URL холста, URL защищенного холста, URL-адрес страницы или URL-адрес страницы защищенной страницы.
Одним из решений является установка "URL-адрес страницы страницы" на поддельный URL-адрес на example.org, например:
example.org/myfakepage
На самом деле вам не нужно использовать вкладку страницы. Это позволяет вам добавить второй домен.
Ответ 5
Способ Tumbler заключается в том, чтобы разрешить поддомены в их домене с помощью *.example.com. Это позволит всем поддоменам работать со своим приложением (например, odisharkins.example.com, facebook.example.com). Есть несколько аспектов добавления нескольких доменов: посмотрите Блог Facebook.
Другие домены должны быть получены из одного из следующих: URL-адрес сайта, URL-адрес мобильного сайта, URL холста, URL-адрес защищенного холста, URL-адрес вкладки страницы или URL-адрес закладки защищенной страницы.
odisharkins.tumbler.com не будет проблемой: все будет хорошо!
Однако harkinstech.com или odisharkins.com не будут работать.
Ответ 6
Работала для меня: "Хитрость заключается в том, чтобы указать несколько доменов приложений и использовать список допустимых URL-адресов с запятыми для настройки URL-адреса веб-сайта".
https://www.sitepoint.com/community/t/single-facebook-app-with-multiple-domains/99834/4
Ответ 7
- Перейдите на страницу developers.facebook.com.
- Нажмите на свое приложение и отредактируйте настройки.
- Добавьте домены в следующую форму: example.com, example.org, subdomain.example.com(нет http).
- Сохранить.
Это единственный способ сделать это, на восток до настоящего времени. Вы либо добавляете домены (и поддомены) вручную, либо вы не можете продолжить.