儲存資產

若要優化資產傳送程序,您可以選擇讓 Messenger 平台儲存已傳送的資產。如果您打算反覆傳送相同附件,便很適合採用上述方法,免卻每次要求時都要上載資產的麻煩。

Messenger 平台提供以下兩種 API,可讓您儲存資產供日後使用,分別是傳送 API附件上載 API。這兩種 API 都支援從網址和本機檔案系統儲存資產。

內容

支援的資產類型

Messenger 平台支援儲存以下資產類型,大小最高可達 25 MB:

  • 圖像
  • 語音:Content-Type 標題必須使用 audio 類型,例如 audio/mp3
  • 影片
  • 檔案

使用傳送 API 儲存

使用傳送 API 可儲存與訊息一併傳送的資產,而不需事先使用附件上載 API 上載該資產。如要執行此操作,向 /messages 端點傳送 payload.is_reusable 已設為 truePOST 要求即可。

從網址儲存

若要從網址儲存資產,請在訊息 attachment 物件的 payload.url 屬性中指定來源網址:

{
  "recipient":{
    "id":"

For a complete list of API calls and request properties, see the Send API Reference.

從檔案儲存

若要從本機檔案系統儲存資產,請以表格資料傳送您的訊息要求到傳送 API,並在要求的 filedata 欄位中指定檔案位置:

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

For a complete list of API calls and request properties, see the Send API Reference.

API 回應

回應會包含日後可用於附加資產到訊息attachment_id。請注意,此為私人編號,只供當初傳送附件的網頁重複使用。

{
  "recipient_id": "1254444444682919",
  "message_id": "mid.$cAAJsujCd2ORkHh27-ld7NhzuqrUK",
  "attachment_id": "687799999980546"
}

使用附件上載 API 儲存

使用附件上載 API 可事先上載資產。如果您事先知道有必要反覆傳送特定資產,便很適合採用上述方法。如要執行此操作,向 /message_attachments 端點傳送 POST 要求即可。

請參閱附件上載 API 參考資料以查看 API 調用與要求屬性的完整清單。

從網址儲存

若要從網址儲存資產,請在訊息 attachment 物件的 payload.url 屬性中指定來源網址:

curl -X POST -H "Content-Type: application/json" -d '{
  "message":{
    "attachment":{
      "type":"image", 
      "payload":{
        "is_reusable": true,
        "url":"http://www.messenger-rocks.com/image.jpg"
      }
    }
  }
}' "https://graph.facebook.com/v2.6/me/message_attachments?access_token=<PAGE_ACCESS_TOKEN>"

請參閱附件上載 API 參考資料以查看 API 調用與要求屬性的完整清單。

從檔案儲存

若要從本機檔案系統儲存資產,請以表格資料傳送您的訊息要求到附件上載 API,並在要求的 filedata 欄位中指定檔案位置:

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

API 回應

回應會包含日後可用於附加資產到訊息attachment_id。請注意,此為私人編號,只供當初傳送附件的網頁重複使用。

{
  "attachment_id":"1857777774821032"
}

傳送已儲存的資產

取得已儲存資產的 attachment_id 後,您便可將其用於附加資產到訊息上。詳情請參閱傳送訊息 > 附加已儲存的資產

開發人員支援