20

Attualmente sto lavorando a una nuova funzionalità per consentire agli utenti di selezionare la miniatura che vorrebbero utilizzare durante la condivisione di una pagina su Facebook. L'utente dovrebbe essere in grado di utilizzare i widget di Facebook come la finestra di dialogo di invio o i pulsanti di condivisione e semplicemente di tagliare e incollare l'URL nella finestra di dialogo di stato di udpate su Facebook.Più og: i tag immagine non vengono visualizzati dalla finestra di dialogo Condividi o Aggiorna stato

Ho letto molto della documentazione, il che sembra indicare che ho semplicemente bisogno di aggiungere più tag og: image nella pagina che viene condivisa. Ho fatto questo ed eseguire la pagina attraverso il linter in modo da aggiornare la cache.

Passando direttamente la pagina a share.php, rimuovendo in modo efficace il mio codice lato client e lasciando che la finestra di dialogo presenti ciò che sta raschiando, vedo 3 immagini dalla pagina disponibile.

Non sono sicuro di cosa sto facendo male qui.

Ecco lo linter result, lo graph object, lo sharer.php link e lo the page. Qualcuno ha idee su cosa potrei fare in modo errato?

Ho confermato che almeno il tag og: title viene rispettato dalla finestra di dialogo Condividi. Ho anche testato la dimensione delle immagini e incluso le estensioni dei file come suggerito di seguito.

So che questo funziona perché buzzfeed ha la funzionalità esatta per cui sto andando. Ho ridotto il mio esempio a solo i pezzi fondamentali che penso dovrebbero funzionare. È possibile trovare il full source here.

+0

Hai controllato se tutte le immagini sono abbastanza grandi? Il minimo è 200x200 e raccomandato è molto più grande. –

+0

Sì tutte le immagini sono 200x200 – NotMyself

+0

Non vedo il problema. Quello che vedo nel condivisore sono le prime 3 immagini dalla lista che hai specificato. Lo stesso che sono mostrati nel debugger. Facebook in realtà non dice che mostrerà tutte le immagini specificate dall'età. Nel tuo caso li limita solo ai primi tre. –

risposta

-2

Lo script Sharer.php sul sito di Facebook non supporta tutti i tag OG per quanto ne so. Le immagini vengono raschiate dal contenuto della pagina stessa, quindi se vuoi che le tue tre immagini appaiano sullo script Sharer.php, includile nel tuo contenuto.

-2

Sharer.php è stato ufficialmente deprecato da Facebook, quindi non sarei sorpreso se determinate funzionalità non funzionassero con esso. Mentre funziona ancora, è sempre stata l'opzione più semplice e immagino che non abbiano mai creato l'immagine di collegamento che raschia dagli oggetti og in esso.

Sono stato in grado di trovare this article, che mostra un modo in cui è possibile specificare esattamente quali immagini sono disponibili per la pagina di condivisione sharer.php. È possibile specificare uno (o più) le immagini da condividere con una struttura di URL come la seguente:

http://www.facebook.com/sharer.php?s=100 
&p[url]=http://bit.ly/myelection 
&p[images][0]=http://election.gv.my/assets/vote.png 
&p[title]=My customized title 
&p[summary]=My customized summary 
+0

Ciao Michael, non credo il problema è limitato a sharer.php. Se incolli lo stesso link nella casella di aggiornamento dello stato direttamente su Facebook, sembra che ignori anche i tag og: image. Buzzfeed sembra funzionare come previsto. – NotMyself

+0

anche il lato negativo di questo metodo è che tagliare e incollare l'url nella casella di stato di aggiornamento su Facebook non raccoglie le immagini. – NotMyself

+0

"Sharer.php è stato ufficialmente deprecato da Facebook" - Davvero? [Questa pagina di documentazione non lo menziona.] (Https://developers.facebook.com/docs/reference/plugins/share-links/) Fonte? –

4

Potrebbe essere il namespace XML nel tag HTML in alto?

Nell'articolo BuzzFeed, è:

xmlns:og="http://opengraphprotocol.org/schema/" 

Nella pagina la sua:

xmlns:og="http://ogp.me/ns#" 
+0

hrm lasciatemi provare – NotMyself

+0

nah nessuna differenza – NotMyself

3

Sul articolo Buzzfeed, il contenuto degli attributi nella og: collegamenti di immagine puntano a file .jpg denominati , vs i tuoi link che non hanno un nome file/estensione alla fine.

Potrebbe essere necessario includere un nome file nei collegamenti, soprattutto se si basa il rilevamento dell'immagine sull'estensione del file.

EG:

Buzzfeed:

<meta property="og:image" content="http://s3-ak.buzzfeed.com/static/campaign_images/webdr02/2013/3/18/11/10-lifechanging-ways-to-make-your-day-more-effici-1-2774-1363621197-4_big.jpg" /> 

Distinti:

<meta property="og:image" content="http://statics.stage3.cheezdev.com/mediumSquare/3845/4AC356E3/1"/> 
+0

forse, questo sarà un po 'più difficile da convalidare. fammi vedere cosa posso fare – NotMyself

+0

Ok, quindi ho provato questo con un'applicazione di test che tenta di rimuovere quante più variabili possibile. Il nome file e l'estensione non sembrano avere importanza. – NotMyself

1

Dopo alcuni test, credo che sia un caching issue.

Sembra che il condivisore è caching il grafico, utilizzando il og:url come chiave, in modo che diversi querystrings del condivisore non bypassare la cache, se non influiscono sul valore di og:url.
Ovviamente, lo strumento di debug non utilizza tale cache.

Se ho ragione (questo è solo un approfondimento), è possibile attendere che la voce della cache scada o provare con un diverso og:url. Inoltre, per facilitare il test, mantenere il nuovo og:url uguale alla nuova posizione della pagina.

1

Una storia così divertente, sono uno sviluppatore di BuzzFeed e ci siamo imbattuti in questo mentre cercavo di capire perché le nostre finestre di dialogo condivise improvvisamente smettessero di mostrare il selezionatore di miniature.

Sembra che Facebook abbia disattivato la funzionalità. È riapparsa brevemente il 1/14/2014, ma è stato introdotto un bug che impediva la condivisione da qualsiasi pagina con più URL: tag immagine definiti. (Vedi: https://developers.facebook.com/bugs/1393578360896606/)

Hanno risolto il bug, ma a partire dal 1/22/2014 sembra ancora che il selettore di miniature sia disattivato.

+0

Divertente, in realtà ho provato a contattare Buzzfeed per parlare con un dev, mentre lavoravo a questo problema e non ho ricevuto risposta. Probabilmente perché stavo lavorando per Cheezburger in quel momento. Ma l'anno scorso mi hanno licenziato con la loro grande epurazione di telelavoratori, quindi cosa farai eh? Grazie per il follow-up. – NotMyself

Problemi correlati