這份文件已更新。
中文(香港) 的翻譯尚未完成。
英文更新時間:2023年10月16日

附件上載 API 參考資料

附件上載 API 可讓您之後在訊息中上載素材,與訊息一起傳送。這樣您就不必多次上載常用的檔案。API 支援從網址和本機檔案系統儲存素材。

您亦可使用 Send API 傳送含有附件的訊息,同時儲存該附件以便日後使用。詳情請參閱 Send API 參考資料

上載附件

若要上載附件,請向 /Your-page-id/message_attachment 端點傳送 POST 要求,其中的 message.attachment 需包含 typepayload。如需在多則訊息中使用素材,請將 payload.is_reusable 設為 true

要求從網址上載的範例

已設定格式以便閱讀。使用自家值替換 bolditalics values,如 page_access_token

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image", 
               "payload":{
                 "url":"https.your-url.com/image.jp",
                 "is_reusable": true
               }
             }
           }
         }'

要求從檔案上載的範例

已設定格式以便閱讀。使用自家值替換 bolditalics values,如 page_access_token

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image"
             }
           },
           "filedata":"@/path-to-your-file/image.png";"type":"image/png"
         }'

成功的話,應用程式會收到 JSON 物件,其中 attachment_id 設為要在訊息中使用的附件編號。

{"attachment_id": "Your-attachment-ID"}

傳送包含已上載素材的訊息

如要傳送包含您先前已經上載的素材的訊息,並且在上載時將 message.attachment.payload.is_reusable 設為 true,請向編號為 recipient.id/Your-page-id/messages 端點傳送 POST 要求,其中的 message.attachment 物件包含 typepayload.attachment_id

要求從檔案上載的範例

已設定格式以便閱讀。使用自家值替換 bolditalics values,如 page_access_token

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/messages" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image",
               "payload":{
                 "attachment_id":"Your-attachment-ID"
               }
             }
           }
         }'

成功的話,應用程式會收到 JSON 物件,其中的 success 設為 true

{"success": "true"}

屬性

針對來自網址的附件,請以 JSON 物件格式傳送要求,並於要求內文中提供下列屬性。針對來自檔案的附件,請以表格資料形式傳送屬性。

message

Description of the message to be sent.
Property Type Description

message.attachment

Object

An object describing attachments to the message.

message.attachment

屬性 類型 說明

type

字串

附件類型。必須是下列其中一項:

  • image
  • video
  • audio
  • file

payload

物件

描述附件的 payload 物件。

message.attachment.payload

屬性 類型 說明

url

字串

此為選填項目。要上載檔案的網址。圖像檔案大小不超過 8MB,所有其他檔案類型的大小不超過 25MB(編碼後)。影片逾時期限設為 75 秒,所有其他檔案類型的逾時期限為 10 秒。

is_reusable

布林值

此為選填項目。設為 true,以便將已儲存素材傳送給其他訊息傳送對象。預設為 false

錯誤代碼

錯誤代碼子代碼訊息

100

2018074

編號可能無效或您並未擁有此附件。

100

2018008

無法從網址擷取檔案。檢查該網址是否有效、具備有效的 SSL 證書、有效的檔案大小,以及伺服器的回應速度夠快,能避免逾時。

100

2018294

影片上載逾時或影片已損壞。請注意,若未能在 75 秒內擷取此影片便會逾時。

100

2018047

上載附件失敗。觸發此錯誤的一種常見原因,就是所提供的影音素材類型與網址中提供的檔案類型不符。