若要啟動上傳連線階段,請向 /<APP_ID>/uploads
端點傳送 POST
要求,其中 <APP_ID>
為應用程式的 Meta 編號,並須包含以下必要參數:
file_name
- 檔案名稱file_length
- 檔案大小(位元)file_type
- 檔案的 MIME 類型。有效值為:application/pdf
、image/jpeg
、image/jpg
、image/png
和 video/mp4
採用方便閱讀的格式。
curl -i -X POST "https://graph.facebook.com/v21.0
/<APP_ID>/uploads
?file_name=<FILE_NAME>
&file_length=<FILE_LENGTH>
&file_type=<FILE_TYPE>
&access_token=<USER_ACCESS_TOKEN>"
成功後,您的應用程式將收到 JSON 回應,內含上傳連線階段編號。
{ "id": "upload:<UPLOAD_SESSION_ID>" }
若要開始上傳檔案,請向 /upload:<UPLOAD_SESSION_ID>
端點傳送 POST
要求,並將 file_offset
設為 0
。
curl -i -X POST "https://graph.facebook.com/v21.0
/upload:<UPLOAD_SESSION_ID>"
--header "Authorization: OAuth <USER_ACCESS_TOKEN>"
--header "file_offset: 0"
--data-binary @<FILE_NAME>
您必須在標頭中包含存取權杖,否則會呼叫失敗。
成功後,您的應用程式會收到檔案處理常式,您將在 API 呼叫中使用該處理常式將檔案發佈到端點。
{ "h": "<UPLOADED_FILE_HANDLE>" }
{ "h": "2:c2FtcGxl..." }
如果您已啟動上傳連線階段,但花費的時間超過預期或已中斷,請向步驟 1 中的 /upload:<UPLOAD_SESSION_ID>
端點傳送 GET
要求。
採用方便閱讀的格式。
curl -i -X GET "https://graph.facebook.com/v21.0
/upload:<UPLOAD_SESSION_ID>"
--header "Authorization: OAuth <USER_ACCESS_TOKEN>""
成功後,應用程式將收到JSON 回應,內含 file_offset
值;隨後您就可以使用該值,從中斷點恢復上傳程序。
{ "id": "upload:<UPLOAD_SESSION_ID>" "file_offset": <FILE_OFFSET>" }
請使用此 file_offset
值來傳送其他的 POST
要求,操作方式與步驟 2 相同。如此便會從中斷點恢復上傳程序。