借助视频 API,您可以在 Facebook 公共主页上发布视频和 Reels。
如要在公共主页上发布视频,您将需要满足以下条件:
CREATE_CONTENT
任务的用户请求的公共主页访问口令如要发布视频,请向 /<PAGE_ID>/videos
端点发送 POST
请求
curl -X POST \
"https://graph-video.facebook.com/v21.0
/<PAGE_ID>/videos" \
-F "access_token=<PAGE_ACCESS_TOKEN>" \
-F "title=<VIDEO_TITLE>" \
-F "description=<VIDEO_DESCRIPTION>" \
-F "fbuploader_video_file_chunk=<UPLOADED_FILE_HANDLE>"
若请求成功,您的应用会收到 JSON 响应,其中包含视频编号。
{ "id":"<VIDEO_ID>" }
以下内容来自可续传 API 文档。
如要发起上传会话,请向 /<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..." }
如果您已发起上传会话,但会话时间长于预期或会话已中断,请向 /upload:<UPLOAD_SESSION_ID>
端点(从 第 1 步中获取而来)发送 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
值按第 2 步中的操作再发送一个 POST
请求。这将从中断处恢复上传流程。