2017-09-25 76 views
3

信使發送API給我回應 (#546)您試圖附加的文件的類型是不允許的。請以不同的格式再次嘗試。錯誤代碼:546,error_subcode:154502如何通過Facebook Messenger Send API發送在Amazon S3上託管的圖像?

但是,如果我在Google Cloud上託管相同的確切圖像而不是Amazon S3,則圖像發送正常。

我鏈接到AWS圖像: https://s3.amazonaws.com/paloma-staging-public/files/conversation-step-56-80925.gif

我鏈接到谷歌雲圖像: https://storage.googleapis.com/callparty/thumbsup.gif

有什麼特殊的原因,對存儲在S3圖像的鏈接不會爲工作圖片附件,但鏈接到谷歌雲上存儲的圖像將工作?

+1

當我單擊AWS鏈接時,我的瀏覽器下載圖像。當我點擊Google鏈接時,它會在瀏覽器中打開。所以必須有一些區別 – WizKid

回答

3

答案是,對於AWS鏈接文件的ContentType未設置。

在上傳到S3時,我必須適當地手動設置文件的ContentType(「image/gif」,「image/png」等),並且谷歌雲存儲必須已經自動設置。

這就是爲什麼S3鏈接導致自動下載,並且谷歌雲鏈接在瀏覽器中顯示圖像。

+0

還必須有另一個原因,Facebook Messenger將不會提供圖像。我在S3上設置了ContentType,但仍然是Facebook Messenger(在手機上)不會在結構化消息中提供圖像。但是,在桌面瀏覽器版本上,它工作正常。 – robjeiter

+0

謝謝,像魅力一樣工作 – kaxi1993

相關問題