了解如何实现创意素材管理。
创意素材管理仅适用于特定合作伙伴。如需进一步了解相关信息,请联系您的 Meta 合作伙伴。
要使用此 API,需要:
登录应用时,必须请求用户授予以下权限:
business_creative_management
- 管理商用素材文件夹和商用素材。对于所有商用素材管理工具 API 端点,此权限是必要项。 business_creative_insights
- 获取商用素材的成效分析。business_management
- 管理业务用户以及接受合作协议请求。通过向 {business-id}/creative_folders
端点提出 POST
请求,代表广告主的企业创建商用素材文件夹。此处的 {business-id}
是广告主的企业编号。
执行此操作需要拥有 business_creative_management
权限。
curl -X POST \ -F 'name={folder-name}' \ -F 'access_token={access-token}' \ https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders
{ “id”: “{business-creative-folder-id}” }
也可创建子文件夹。
通过向 {business-id}/images
或 {business-id}/videos
提出 POST
请求,将现有创意素材添加到某个文件夹中。您需要拥有 business_creative_management
权限来执行此操作。
示例 — 如要添加图片,请执行以下请求:
curl -X POST \ -F 'bytes={image-content-in-bytes-format}' \ -F 'name={image-name}' \ -F 'access_token={access-token}' \ -F 'creative_folder_id={business-creative-folder-id}' \ https://graph.facebook.com/{version}/{business-id}/images
响应
{ "images":{ "{image-name}":{ "id":"{business-image-id}", "hash":"{hash}", "url":"{image-url}" } } }
如果视频仅有几 MB,可在单个请求中上传视频,否则将视频分成几个片段上传。执行 API 调用,以在 graph-video.facebook.com
上传视频,而不是 graph.facebook.com
。
示例 — 向 {business-id}/video
发送 POST
请求,在请求中加入视频名称、来源和商用素材文件夹编号。
curl -X POST \ -F 'name={video-name}' \ -F 'source='@{video-path}'' \ -F 'access_token={access-token}' \ -F 'creative_folder_id={business-creative-folder-id}' \ https://graph-video.facebook.com/{version}/{business-id}/videos
响应
{ "success": true, "business_video_id": "{business-video-id}" }
对于较大的视频,发送一个 start
请求、一个或多个 transfer
请求以及一个 finish
请求。
如要执行 start
请求并创建视频上传会话,请向 /{business-id}/videos
发送 POST
请求,在请求中将 upload_phase
字段设为 start
,并指定 file_size
(以字节为单位)。
curl -X POST \ -F 'title={video-name}' \ -F 'creative_folder_id={business-creative-folder-id}' \ -F 'access_token={access-token}' \ -F 'upload_phase=start' \ -F 'file_size={video_file_size_in_bytes}' \ https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos
响应示例
{ "upload_session_id": "{session-id}", "business_video_id": "{business-video-id}", "video_id": "{video-id}", "start_offset": "0", "end_offset": "52428800" }
如要上传视频的 [0, 52428800]
,请根据开始和结束偏移量将文件拆分为不同的片段,然后将这些片段与 transfer
请求一起发送。我们会向您发送每个片段的新偏移量。使用这些新偏移量上传每个片段。
示例:发送您的第一个片段
curl -X POST \ -F 'title={video-name}' \ -F 'access_token={access-token}' \ -F 'creative_folder_id={business-creative-folder-id}' \ -F 'upload_phase=transfer' \ -F 'upload_session_id={session-id}' \ -F 'start_offset=0' \ -F 'video_file_chunk=@{binary-chunk-filename}' \ https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos
如果请求成功,我们提供的响应中会包含下一个片段的偏移量:
{ "start_offset": "52428800", //Start byte position of the next file chunk. "end_offset": "104857601" //End byte position of the next file chunk. }
以 [52428800, 104857601]
区间剪切您的文件,然后上传第二个片段,并将其发出:
curl -X POST \ -F 'title={video-name}' \ -F 'access_token={access-token}' \ -F 'creative_folder_id={business-creative-folder-id}' \ -F 'upload_phase=transfer' \ -F 'start_offset=52428801' \ -F 'upload_session_id={your-upload-sesson-id}' \ -F 'video_file_chunk={binary-chunk-filename}' \ https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos
发送所有其他片段,直至 start_offset
等于 end_offset
:
{ "start_offset": "152043520", "end_offset": "152043520" }
这表示您已上传整个文件。接下来,您需要发布此视频并关闭上传会话。
curl -X POST \ -F 'title={video-name}' \ -F 'access_token={access-token}' \ -F 'creative_folder_id={business-creative-folder-id}' \ -F 'upload_phase=finish' \ -F 'upload_session_id={session-id}' \ https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos
如果在上传过程中发生错误,您可以重新尝试上传相关片段。一般来说,错误是由响应问题引起的。重新尝试上传出现错误的片段。如需进一步了解错误详情,请参阅:
您将创意上传到某个文件夹后,有权访问该文件夹的广告主就可以在广告管理工具上创建广告,或使用市场营销 API 来创建广告。
所有已上传的创意都会显示在广告管理工具 > 素材选择用户界面中。您可以在广告创建和广告编辑中使用这些创意。此外,文件夹和创意素材位于商务管理平台 > 素材库的商务管理平台素材库工具中。
要获取特定素材的深度链接网址,请查询已上传图片或视频素材的字段 media_library_url
:
curl -X GET \ -F 'access_token={partner-access-token}' \ https://graph.facebook.com/v<API_VERSION>/<asset_id>?fields=media_library_url
如要使用您的深度链接创建广告或公共主页帖子,请在链接的末尾附上 &action=CREATE_AD
或 &action=CREATE_POST
:
https://business.facebook.com/asset_library/business_creatives/?object_id=<OBJECT_ID>&action=CREATE_AD