2017-09-25 3 views
3

메신저 보내기 API가 응답을 돌려줍니다. (# 546) 첨부하려는 파일 형식이 허용되지 않습니다. 다른 형식으로 다시 시도하십시오. 오류 코드 : 546, 오류 _ 하위 코드 : 154502Facebook Messenger Send API를 통해 Amazon S3에서 호스팅되는 이미지를 보내는 방법은 무엇입니까?

그러나 Amazon S3 대신 Google Cloud에서 똑같은 이미지를 호스팅하면 이미지가 올바르게 전송됩니다.

AWS 이미지 내 링크 : https://s3.amazonaws.com/paloma-staging-public/files/conversation-step-56-80925.gif

구글 클라우드 이미지 내 링크 : https://storage.googleapis.com/callparty/thumbsup.gif

가 S3에 저장된 이미지에 대한 링크가 작동하지 것이라고 특별한 이유가 이미지 첨부 파일이 있지만 Google 클라우드에 저장된 이미지 링크가 작동합니까?

+1

AWS 링크를 클릭하면 브라우저가 이미지를 다운로드합니다. Google 링크를 클릭하면 브라우저에서 열립니다. 그래서 약간의 차이가 있어야합니다. – WizKid

답변

3

대답은 AWS 링크의 경우 파일의 ContentType이 설정되지 않았기 때문입니다.

S3에 업로드하는 동안 파일의 ContentType ("image/gif", "image/png"등)을 수동으로 설정해야했고 Google 클라우드 저장소의 경우 자동으로 설정해야합니다.

S3 링크로 인해 자동 다운로드가 발생하고 Google 클라우드 링크가 브라우저에 이미지를 표시합니다.

+0

Facebook Messenger가 이미지를 제공하지 않는 또 다른 이유가 있어야합니다. 나는 ContentType을 S3에 설정했지만 페이스 북의 메신저 (모바일)는 구조화 된 메시지로 이미지를 제공하지 않습니다. 그러나 데스크톱 브라우저 버전에서는 정상적으로 작동합니다. – robjeiter

+0

감사합니다. 매력처럼 작동합니다. – kaxi1993