添付ファイルアップロードAPIを使用すると、後でメッセージで送信できるアセットをアップロードできます。これにより、よく使用するファイルを何度もアップロードする必要がなくなります。このAPIは、URLのアセットの保存とローカルファイルシステムのアセットの保存をサポートしています。
Send APIを使用して、添付ファイル付きのメッセージの送信と、後から使うための添付ファイルの保存を同時に行うこともできます。詳しくは、Send APIリファレンスをご覧ください。
添付ファイルをアップロードするには、type
とpayload
を指定したmessage.attachment
とともに、/
Your-page-id
/message_attachment
エンドポイントにPOST
リクエストを送信してください。複数のメッセージでアセットを使用するには、payload.is_reusable
をtrue
に設定してください。
読みやすいようにフォーマットしています。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
}
}
}
}'
読みやすいようにフォーマットしています。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"
}'
成功すると、メッセージで使用する添付ファイルのIDに設定されたattachment_id
のJSONオブジェクトがアプリに送信されます。
{"attachment_id": "Your-attachment-ID"}
過去にアップロードしたアセット(message.attachment.payload.is_reusable
をtrue
に設定してアップロードされたもの)とともにメッセージを送信するには、POST
リクエストをrecipient.id
を指定して/
Your-page-id
/messages
に、type
とpayload.attachment_id
を指定したmessage.attachment
オブジェクトとともに送信してください。
読みやすいようにフォーマットしています。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"
}
}
}
}'
成功すると、アプリはsuccess
がtrue
に設定されたJSONオブジェクトを受け取ります。
{"success": "true"}
URLから添付する場合は、リクエスト本文に次のプロパティをJSONオブジェクトとして指定します。ファイルからの添付の場合は、プロパティをフォームデータとして送信します。
message
Property | Type | Description |
---|---|---|
| Object | An object describing attachments to the message. |
message.attachment
プロパティ | 型 | 説明 |
---|---|---|
| 文字列 | 添付ファイルの種類。次のいずれかである必要があります。
|
| オブジェクト | 添付ファイルを説明する |
message.attachment.payload
プロパティ | 型 | 説明 |
---|---|---|
| 文字列 | 任意。アップロードするファイルのURL。最大ファイルサイズ: 画像は8 MB、その他のファイルタイプは25 MB (エンコーディング後)。タイムアウト: 動画は75秒、その他のファイルタイプは10秒。 |
| ブーリアン | 任意。 |
エラーコード | サブコード | メッセージ |
---|---|---|
100 | 2018074 | 無効なIDの可能性、または添付ファイルの所有権がない。 |
100 | 2018008 | URLからファイルのフェッチに失敗。URLが有効であること、有効なSSL証明書があること、有効なファイルサイズであること、タイムアウトを避けるためにサーバーが十分な速さで応答していることを確認してください。 |
100 | 2018294 | 動画のアップロードがタイムアウトしたか、動画が壊れています。動画を75秒以内にフェッチできない場合は、タイムアウトになりますのでご注意ください |
100 | 2018047 | 添付ファイルのアップロードの失敗。このエラーのよくある原因は、提供されたメディアタイプがURLで指定されたファイルタイプと一致しないことです。 |