2014-08-29 17 views
11

Mam problem z interfejsem API wykresu Facebooka. Otrzymuję właściwość "The" og: type 'jest wymagana, ale nieobecna. " błąd pod tym adresem URL: http://thatnewjoint.com/posts/logic-driving-ms-daisy-feat-childish-gambino (i każdy inny adres URL na moim blogu)."Właściwość 'og: type' jest wymagana, ale nieobecna." błąd

Metatag typu og: type znajduje się w kodzie HTML, więc nie jestem pewien, dlaczego Facebook go nie rozpoznaje. Oto, co ich wykres wywołanie API wraca:

{ 
    "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" 
} 

Wygląda na to, kiedy jestem delegowania przy użyciu ich API (przez koala ruby ​​gem), link nie ociera się? Chciałbym założyć, że og: Błąd rodzaju jest przyczyną tego, ale tutaj są meta tagi z tej strony:

<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"> 

edycji z Więcej:

Wydaje się, że jeśli mogę umieścić adres URL w FB Debugger, Początkowo otrzymałem tę właściwość "The" og: type ', ale nie jest ona dostępna. " błąd, ALE jeśli kliknę przycisk "Pobierz nowe informacje o skrobaniu", znajdziesz wszystkie właściwe informacje, takie jak powinny. Czy jest możliwe, że FB próbuje zbyt wcześnie skrobać adres URL? Wygląda na to, że po pierwszym przejściu, po prostu nie zeskrobują adresu URL poprawnie, ale nie mogę zrozumieć dlaczego.

+0

To wydaje się być teraz naprawione; jednak musisz również dodać bezpieczny URL do swojego filmu, w przeciwnym razie nie będzie on odtwarzany w kanale informacyjnym. – CBroe

+0

@kitdesai czy próbowałeś wprowadzić w życie moją odpowiedź poniżej? Było to wymagane na mojej stronie internetowej przycisk FB Like. Jest tak, aby uzyskać indywidualny serwis myWebsite - "Like", aby zarejestrować się jako odpowiednia witryna myFacebook - "Like". Proszę daj mi znać. – totallytotallyamazing

+0

@Totallytotallyamazing dzięki za komentarz. Zdałem sobie sprawę, że zainicjowałem błędnie FB SDK. Naprawiłem to (na podstawie twoich komentarzy i nowej dokumentacji FB JS SDK), ale link wciąż nie jest prawidłowo zeskrobany. Zobacz ten wpis, który właśnie napisałem: http://thatnewjoint.com/posts/ti-don-t-tell-em-remix – kitdesai

Odpowiedz

5

Będziesz musiał dodać ten metatag HTML do swojego HEAD, ze swoim identyfikatorem aplikacji (unikalny identyfikator aplikacji Facebook). Tylko pamiętaj, aby zamienić się "swój-app-id":

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

Aby utworzyć identyfikator FB App przejść tutaj: https://developers.facebook.com/apps

I dodać sam niepowtarzalny identyfikator Facebook App na Facebooku JS i umieść go tak blisko górnej części znacznika HTML, jak to tylko możliwe. Pamiętaj tylko, aby zamienić "identyfikator swojej aplikacji":

<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> 

Również do umieszczenia na stronie internetowej przycisku Facebook dodaj również ten kod. Tylko pamiętaj, aby zamienić się „Twój unikalny-page-być lubiany”:

<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> 

Wreszcie w Facebooku Developers Dashboard zabrać FB aplikację z „Deweloperzy Mode” i umieścić go w „public” Tryb.

Aby uzyskać więcej informacji na temat FB Open Graph i meta tagi są tu 2 przydatnych linków: 1. https://developers.facebook.com/docs/opengraph/using-objects 2. https://developers.facebook.com/docs/sharing/best-practices

To powinno załatwić sprawę. Daj mi znać, jeśli potrzebujesz dodatkowej pomocy.

zaktualizowałem tę odpowiedź, dzięki kitdesai za wskazanie, że Facebook ma nowe wymagania dla ich Graph API wersji, która jest w tej chwili aż do v2.1

1

miałem ten sam problem i moim problemem było to, że ja URL ustawiłem na og: url miał "/" na końcu i URL strony, którą zamieściłem na facebooku, nie był.

Debugger powiedział mi, że og: type nie został jeszcze ustawiony. Uważam, że problem polegał na tym, że parser Facebooka potraktował niedopasowanie jako przekierowanie i wprawił w zakłopotanie.

W każdym razie ich dopasowanie poprawiło mój problem.

Powiązane problemy