永久菜单 POST 成功但不工作
Persistent Menu POST Success but not working
我希望这不是一个重复的问题,我找不到任何与此相同的问题所以我想我会 post..
我现在正在尝试将持久菜单推送到我的 FB 页面,我使用以下代码从 POSTMAN 发布:
curl -X POST -H "Content-Type: application/json" -d '{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled":true,
"call_to_actions":[
{
"title":"Info",
"type":"nested",
"call_to_actions":[
{
"title":"web_url",
"type":"postback",
"payload":"http://www.techiediaries.com"
},
{
"title":"web_url",
"type":"postback",
"payload":"http://www.techiediaries.com"
}
]
},
{
"type":"web_url",
"title":"Visit website ",
"url":"http://www.techiediaries.com",
"webview_height_ratio":"full"
}
]
},
{
"locale":"en_US",
"composer_input_disabled":false
}
]
}'
此操作返回 {"result": "success"},但是在我的 FB 页面上我看不到我的 Messenger 有任何变化,我也试过了删除对话并重新启动(根据 FB Messenger 文档),但这仍然没有提供结果。
我是不是做错了或忽略了什么?
非常感谢,
周杰伦
这是因为数组中的第二个对象没有指定按钮:
{
"locale":"en_US",
"composer_input_disabled":false
}
这应该是 return 一个语法错误,但目前正在无提示地失败。我会举报的。
正如 amuramoto 所写,这可能是因为您没有为语言环境 en_US 提供任何 call_to_actions(按钮),而您正在使用 en_US。您可以使用其他语言环境对其进行测试,例如 en_UK 或使用西班牙语 facebook 帐户进行测试。
但这不是错误。正如文档所述:https://developers.facebook.com/docs/messenger-platform/reference/messenger-profile-api/persistent-menu?locale=en_US
call_to_actions ---- 数组 < menu_item > ----
永久菜单的顶级菜单项数组。最多允许 3 个项目。最多支持两个嵌套菜单。
如果 "composer_input_disabled" 是必需的:true。
在您的示例中情况并非如此。您的设置将用于 "no buttons, but free typing".
我希望这不是一个重复的问题,我找不到任何与此相同的问题所以我想我会 post..
我现在正在尝试将持久菜单推送到我的 FB 页面,我使用以下代码从 POSTMAN 发布:
curl -X POST -H "Content-Type: application/json" -d '{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled":true,
"call_to_actions":[
{
"title":"Info",
"type":"nested",
"call_to_actions":[
{
"title":"web_url",
"type":"postback",
"payload":"http://www.techiediaries.com"
},
{
"title":"web_url",
"type":"postback",
"payload":"http://www.techiediaries.com"
}
]
},
{
"type":"web_url",
"title":"Visit website ",
"url":"http://www.techiediaries.com",
"webview_height_ratio":"full"
}
]
},
{
"locale":"en_US",
"composer_input_disabled":false
}
]
}'
此操作返回 {"result": "success"},但是在我的 FB 页面上我看不到我的 Messenger 有任何变化,我也试过了删除对话并重新启动(根据 FB Messenger 文档),但这仍然没有提供结果。
我是不是做错了或忽略了什么?
非常感谢,
周杰伦
这是因为数组中的第二个对象没有指定按钮:
{
"locale":"en_US",
"composer_input_disabled":false
}
这应该是 return 一个语法错误,但目前正在无提示地失败。我会举报的。
正如 amuramoto 所写,这可能是因为您没有为语言环境 en_US 提供任何 call_to_actions(按钮),而您正在使用 en_US。您可以使用其他语言环境对其进行测试,例如 en_UK 或使用西班牙语 facebook 帐户进行测试。
但这不是错误。正如文档所述:https://developers.facebook.com/docs/messenger-platform/reference/messenger-profile-api/persistent-menu?locale=en_US
call_to_actions ---- 数组 < menu_item > ---- 永久菜单的顶级菜单项数组。最多允许 3 个项目。最多支持两个嵌套菜单。
如果 "composer_input_disabled" 是必需的:true。 在您的示例中情况并非如此。您的设置将用于 "no buttons, but free typing".