2017-09-25 3 views
3

L'API d'envoi de messenger me renvoie la réponse (# 546) Le type de fichier que vous essayez de joindre n'est pas autorisé. Veuillez réessayer avec un format différent. code d'erreur: 546, code_erreur: 154502Comment envoyer une image hébergée sur Amazon S3 via l'API Facebook Messenger Send?

Toutefois, si j'héberge la même image exacte sur Google Cloud au lieu d'Amazon S3, l'image envoie très bien.

Mon lien vers l'image AWS: https://s3.amazonaws.com/paloma-staging-public/files/conversation-step-56-80925.gif

Mon lien vers l'image nuage google: https://storage.googleapis.com/callparty/thumbsup.gif

sont-il des raisons particulières qu'un lien vers une image stockée sur S3 ne fonctionnerait pas comme image jointe, mais un lien vers une image stockée sur google cloud fonctionnerait?

+1

Lorsque je clique sur le lien AWS, mon navigateur télécharge l'image. Lorsque je clique sur le lien Google, il s'ouvre dans le navigateur. Donc, il doit y avoir une différence – WizKid

Répondre

3

La réponse a été que pour le lien AWS, le ContentType du fichier n'a pas été défini. Pendant le téléchargement sur S3, j'ai dû définir manuellement le ContentType du fichier ("image/gif", "image/png", etc.) et pour le stockage sur google cloud, cela doit être réglé automatiquement. C'est pourquoi le lien S3 provoque un téléchargement automatique, et le lien google cloud affiche l'image dans le navigateur.

+0

il doit y avoir aussi une autre raison pour laquelle Facebook Messenger ne servira pas les images. J'ai le ContentType réglé sur S3 mais Facebook Messenger (sur mobile) ne servira pas les images dans les messages structurés. Cependant, sur la version du navigateur de bureau, cela fonctionne très bien. – robjeiter

+0

Merci, fonctionne comme un charme – kaxi1993