"Свойство" og: type "требуется, но не присутствует". ошибка

У меня проблема с графическим API-интерфейсом Facebook. Я получаю свойство "og: type", но не присутствует ". ошибка по этому URL-адресу: http://thatnewjoint.com/posts/logic-driving-ms-daisy-feat-childish-gambino (и каждый другой URL-адрес в моем блоге).

Метатег og: type находится в HTML, поэтому я не уверен, почему Facebook не узнает его. Здесь возвращается их вызов api graph api:

{
   "id": "561280430667026",
   "created_time": "2014-08-28T20:35:18+0000",
   "is_scraped": false,
   "type": "website",
   "updated_time": "2014-08-28T20:35:18+0000",
   "url": "http://thatnewjoint.com/posts/eminem-superman-throwback-thursdays"
}

кажется, когда я отправляю сообщения с помощью своего api (через румяный жемчуг коалы), ссылка не получает царапины? я бы предположил, что ошибка og: type вызывает это, но вот метатеги с этой страницы:

<meta property="og:url" content="http://thatnewjoint.com/posts/eminem-superman-throwback-thursdays" />
<meta property="og:title" content="Eminem - &quot;Superman&quot; [Throwback Thursdays] | ThatNewJoint | Premier Hip Hop Blog" />
<meta property="og:description" content="Classic from The Eminem Show. I&#39;ll be honest - the video is very strange, but the song is great."
<meta property="og:type" content="video">
<meta property="og:image" content="http://i3.ytimg.com/vi/8kYkciD9VjU/hqdefault.jpg" />
<meta property="og:video" content="http://www.youtube.com/v/8kYkciD9VjU?version=3&amp;autohide=1">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="1920">
<meta property="og:video:height" content="1080">

РЕДАКТИРОВАНИЕ С БОЛЬШЕЙ ИНФОРМАЦИЕЙ:

Кажется, если бы я разместил URL-адрес в FB Debugger, я сначала получил это свойство "og: type", но не присутствует ". ошибка, но если я затем нажму кнопку" Получить новую информацию о царапинах", она найдет всю правильную информацию, как должна. Возможно ли, что FB пытается скопировать URL слишком рано? Кажется, что на первом проходе они просто не очищают URL правильно, но я не могу понять, почему.

Ответ 1

Вам нужно будет добавить этот метатег в свой HEAD, с вашим идентификатором приложения (уникальный идентификатор приложения Facebook). Просто не забудьте заменить "ваш-приложение-id":

<meta property="fb:app_id" content="your-app-id">

Чтобы создать идентификатор приложения FB, перейдите сюда: https://developers.facebook.com/apps

И добавьте тот же уникальный идентификатор приложения Facebook в Facebook JS и поместите его как можно ближе к верхней части тега HTML-тега. Просто не забудьте заменить "ваш-приложение-id":

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{your-app-id}',
      xfbml      : true,
      version    : 'v2.0'
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));
</script>

Также, чтобы добавить свой код на Facebook, добавьте этот код. Просто не забудьте поменять "свою уникальную страницу, чтобы быть любимой":

<div class="fb-like" data-href="your-unique-page-to-be-liked" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false"></div>

Наконец, в панели разработчиков разработчиков Facebook выберем ваше приложение FB из "режима разработчиков" и поместите его в "Общий" режим.

Для получения дополнительной информации о FB Open Graph и метатегах здесь 2 полезные ссылки: 1. https://developers.facebook.com/docs/opengraph/using-objects 2. https://developers.facebook.com/docs/sharing/best-practices

Это должно сделать трюк. Дайте мне знать, если вам нужна дополнительная помощь.

Я обновил этот ответ, благодаря kitdesai, указав, что Facebook имеет новые требования к своей версии API Graph, которая в настоящее время до версии v2.1

Ответ 2

У меня была такая же проблема, и моя проблема заключалась в том, что URL-адрес, который я установил для og: url, имел в конце '/', а URL-адрес страницы, которую я опубликовал на facebook, не сделал.

Отладчик просто сказал мне, что тип og: еще не установлен. Я считаю, что проблема заключалась в том, что анализатор facebook рассматривал несоответствие как перенаправление и запутался.

В любом случае, чтобы они соответствовали моей проблеме.