2014-08-29 11 views
11

Sto riscontrando un problema con l'API del grafico di Facebook. Ricevo una proprietà "The 'og: type", ma non presente. " errore su questo URL: http://thatnewjoint.com/posts/logic-driving-ms-daisy-feat-childish-gambino (e ogni altro URL sul mio blog)."La proprietà 'og: type' è richiesta, ma non presente." error

Il meta tag di tipo: è nel codice HTML, quindi non sono sicuro del motivo per cui Facebook non lo riconosce. Ecco ciò che la loro chiamata API grafico sta tornando:

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

sembra come se sto postando usando il loro API (tramite il koala rubino gemma), il collegamento non viene raschiato? Parto dal presupposto che l'og: errore di tipo sta causando questo, ma qui sono i meta tag da quella pagina:

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

MODIFICA CON PIU 'INFORMAZIONI:

Sembra come se se ho messo l'URL nel FB Debugger, inizialmente ottengo questo "La proprietà 'og: type' è richiesta, ma non presente." errore MA se poi clicco sul pulsante "Recupera nuove informazioni scrape", troverà tutte le informazioni corrette come dovrebbe. È possibile che FB stia tentando di rasentare l'URL troppo presto? Sembra che al loro primo passaggio, semplicemente non stanno raschiando l'URL correttamente, ma non riesco a capire perché.

+0

Questo sembra essere risolto ora; tuttavia dovrai aggiungere anche un URL sicuro per il tuo video, altrimenti non verrà riprodotto nel newsfeed. – CBroe

+0

@kitdesai hai provato a implementare la mia risposta qui sotto? Era necessario per il pulsante Mi piace del mio sito web. Questo è per ottenere un singolo myWebsite - "Mi piace" da registrare come sito myFacebook corrispondente - "Mi piace". Per favore mi faccia sapere. – totallytotallyamazing

+0

@totallytotallyamazing grazie per il tuo commento. Mi sono reso conto che stavo inizializzando l'SDK FB in modo errato. L'ho risolto (in base ai commenti e alla nuova documentazione dell'SB JS SDK) ma il collegamento non viene ancora raschiato correttamente. Vedi questo post che ho appena fatto: http://thatnewjoint.com/posts/ti-don-t-tell-em-remix – kitdesai

risposta

5

Sarà necessario aggiungere questo meta tag HTML al proprio HEAD, con l'ID dell'app (ID app Facebook univoco). Basta essere sicuri di scambiare "your-app-id":

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

Per creare un ID FB App andare qui: https://developers.facebook.com/apps

e aggiungere il tuo stesso ID univoco Facebook App per il Facebook JS e posizionalo il più vicino possibile al tag body HTML. Basta essere sicuri di scambiare "your-app-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> 

anche di inserire il vostro sito web pulsante Facebook aggiungere questo codice pure. Basta essere sicuri di scambiare "your-unico-page-to-be-è piaciuto":

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

Infine in Facebook Developers Dashboard prendere la vostra applicazione FB di "Modalità sviluppatori" e metterlo in "pubblico" Modalità.

Per ulteriori informazioni su FB Open Graph e meta tag qui sono 2 link utili: 1. https://developers.facebook.com/docs/opengraph/using-objects 2. https://developers.facebook.com/docs/sharing/best-practices

che dovrebbe fare il trucco. Fammi sapere se hai bisogno di ulteriore aiuto.

ho aggiornato questa risposta, grazie a kitdesai per aver ricordato che Facebook ha nuovi requisiti per la loro Graph API versione che è attualmente fino a V2.1

1

Ho avuto questo stesso problema e il mio problema era che l'URL I aveva impostato per og: url aveva un '/' alla fine e l'url della pagina che ho postato su facebook no.

Il debugger mi ha appena detto che il tipo: non era ancora impostato. Credo che il problema sia stato il parser di Facebook che ha trattato la mancata corrispondenza come reindirizzamento e si è confusa.

In ogni caso, facendo corrispondere il mio problema risolto.

Problemi correlati