入门指南

了解如何实现创意素材管理。

创意素材管理仅适用于特定合作伙伴。如需进一步了解相关信息,请联系您的 Meta 合作伙伴。

要求

要使用此 API,需要:

权限

登录应用时,必须请求用户授予以下权限:

  • business_creative_management - 管理商用素材文件夹和商用素材。对于所有商用素材管理工具 API 端点,此权限是必要项
  • business_creative_insights - 获取商用素材的成效分析。
  • business_management - 管理业务用户以及接受合作协议请求。

限制

  • 应用用户(广告主)必须是商务管理平台编号指代的商家的管理员

第 1 步:创建商用素材文件夹

通过向 {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}” }

也可创建子文件夹

第 2 步:将创意素材添加到文件夹中

通过向 {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 来创建广告。

所有已上传的创意都会显示在广告管理工具 > 素材选择用户界面中。您可以在广告创建广告编辑中使用这些创意。此外,文件夹和创意素材位于商务管理平台 > 素材库的商务管理平台素材库工具中。

第 3 步:提供素材深度链接网址并创建广告或帖子

要获取特定素材的深度链接网址,请查询已上传图片或视频素材的字段 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