2013-01-13 12 views
5

Hai bisogno di un modo per Facebook per il rendering di un'immagine nei messaggi a muro. A volte, tutto quello che dovete fare è copiare e incollare il link per l'immagine, come qui: Working rendered image in Facebook wall postFacebook non renderà l'immagine del link sul post a muro

Ma, con le immagini che ho bisogno di collegare, che sono in S3, ottengo questo: Image link not being rendered in Facebook wall post

Puoi fare clic su here per verificare che il secondo link sia in effetti un indirizzo immagine valido (dovresti vedere una faccina disegnata a mano inquietante).

Ho fatto questo test usando la normale interfaccia grafica di Facebook sul sito, ma userò la risposta a questa domanda nella mia app, che si integra con Facebook tramite l'API Open Graph. (Nel caso in cui qualcuno pensasse che questa domanda non fosse relativa alla programmazione).

Qualcuno sa cosa devo fare per ottenere la seconda immagine da visualizzare nel post?

risposta

1

La chiave è la dimensione dell'immagine. Non chiedermi quale sia il numero magico, ma le immagini più grandi funzionano e quelle più piccole no. Potrebbe essere che deve essere più grande della dimensione di anteprima che Facebook utilizza.

Nel mio test, ho disattivato la configurazione del sito Web statica.

1

La mia ipotesi è solo link statici genererà una miniatura per i messaggi su Facebook. Il link che stai cercando di utilizzare non è statico.

Questo è ciò che Facebook ottiene quando si tenta di generare una miniatura.

<Error> 
<SCRIPT/> 
<Code>AccessDenied</Code> 
<Message>Access Denied</Message> 
<RequestId>D577337ADC9FA36A</RequestId> 
<HostId> 
DN9BnBduVLgHbf2lONA+e/fXQIOuT7W3WOFUPdthdpP2MZQhSLlolTvyJ0t9eZXn 
</HostId> 
</Error> 

Soluzione:

Si scopre che per farlo funzionare, non si può semplicemente mappare qualsiasi sottodominio arbitrario a qualsiasi secchio arbitrario. Il nome del sottodominio completo deve corrispondere al nome del bucket S3.

  1. Supponiamo che il nome del sito sia static.mydomain.com. Quindi è necessario per creare un bucket S3 con lo stesso nome, denominato static.mydomain.com.

  2. Una volta configurato tale bucket come sito Web statico S3, sarà assegnato a un URL che assomiglierà a http://static.mydomain.com.s3-website-us-east-1.amazonaws.com.

  3. Vai al tuo host di dominio e la mappa tuo sottodominio all'URL dal punto 2. In enom.com, che significava la mappatura del host "statica" per l'indirizzo "static.mydomain.com.s3-website-us-east-1.amazonaws.com" come un record CNAME .

Source, vi aiuterà a ospitare un sito statico dal tuo conto S3. Utilizza le immagini da quel percorso URL del dominio personalizzato. Funzionerà.

+0

Sembra che molte delle tue istruzioni e le istruzioni nella fonte riguardino la mappatura di alcuni nomi di dominio in un bucket Amazon S3. Non ho bisogno di farlo - non mi interessa come appare l'url. Dato che non mi interessa quale sia l'URL dell'immagine, cosa devo fare? La configurazione del mio bucket come sito Web Amazon Hosted Static e l'utilizzo degli URL basati sul loro endpoint rendono i miei URL "statici"?Aggiornamento –

+0

- Ho configurato il mio bucket S3 come sito Web Hosted Static e ho ottenuto gli stessi risultati di prima - anche utilizzando il nuovo collegamento basato su dotellapptest.s3-website-us-east-1.amazonaws.com –

Problemi correlati