如何通过Graph API获取Facebook Ads Manager中的Message Templates
我想通过编程方式获取Facebook Ads Manager中创建Messenger广告时,「Message template」下拉菜单里的模板列表,需要获取这些模板的名称(比如"messanger 1"、"Start conversations 29/10/2025"、"nadav 1")以及完整消息内容(文本、快速回复等)。
已尝试的方法
1. 调用/{page-id}/welcome_message_flows端点
- 请求:
GET https://graph.facebook.com/v23.0/{page-id}/welcome_message_flows?access_token=
- 权限:
pages_show_list、ads_management等(使用带Page ID上下文的用户令牌) - 响应:
{"data": []} - 结论:返回空数组,说明这些模板不属于welcome_message_flows;另外通过API创建的welcome message flow也未出现在Ads Manager的下拉菜单中,证明UI中的模板与该API管理的不是同一类。
2. 调用/{ad-account-id}/adcreatives端点(查询asset_feed_spec或call_to_action)
- 请求:
GET https://graph.facebook.com/v23.0/{ad-account-id}/adcreatives?fields=name%2Casset_feed_spec%2Ccall_to_action&access_token=
- 权限:同上(使用带广告账户ID的用户令牌)
- 响应:部分创意有
MESSAGE_PAGE类型的call_to_action,但均为通用型,未嵌入特定Message Templates,也未找到含message_templates的asset_feed_spec字段。 - 结论:该端点无法获取目标模板信息。
3. 调用/{page-id}/messenger_profile端点(查询get_started或persistent_menu)
- 请求:
GET https://graph.facebook.com/v23.0/{page-id}/messenger_profile?fields=get_started%2Cpersistent_menu&access_token=
- 权限:同上(使用页面访问令牌)
- 响应:仅返回基础的
get_startedpayload和persistent_menu,不包含Ads Manager下拉菜单中的详细模板。 - 结论:该端点不涉及目标模板。
我的假设
这些Message Templates可能是Meta Business Suite或Facebook页面收件箱中配置的Saved Replies/Automations,或者是Facebook广告平台的内部模板,目前没有公开的Graph API端点可以直接获取。
提问
是否有Facebook Graph API端点或其他方法可以获取这些模板的名称及完整消息内容?
回答
目前Meta公开的Graph API中,没有专门的端点可以直接获取Ads Manager里Messenger广告的「Message template」下拉列表中的模板信息。
你提到的Saved Replies可以通过/{page-id}/saved_replies端点获取,但这类模板不会直接出现在Ads Manager的Messenger广告模板下拉里;而Automations相关的内容,Meta的Graph API仅支持管理部分自动化(比如欢迎消息、即时回复),但同样和Ads Manager里的模板不对应。
另外,Ads Manager中的这些模板本质是广告创意的预定义消息资产,目前只能通过Ads Manager UI创建和选择,暂未开放API获取接口。如果需要批量使用类似模板,建议通过API创建广告创意时直接定义消息内容,或者将常用模板的内容存储在自己的数据库中复用。
内容的提问来源于stack exchange,提问作者Nadav Friedman

