我在js中构建我的第一个messenger机器人并且已经可以接收和回复消息并发送带有选项的卡片,但是我已经尝试了所有设置入门按钮的但是没有成功。这就是我为此所做的:
我不知道我做错了什么,或者我必须在哪里调用facebookthreadAPI函数。需要建议。
摘自index.js:
function facebookThreadAPI(jsonFile, cmd){
// Start the request
request({
url: 'https://graph.facebook.com/v2.6/me/thread_settings?access_token='+process.env.token,
method: 'POST',
headers: {'Content-Type': 'application/json'},
form: require(jsonFile)
},
function (error, response, body) {
if (!error && response.statusCode == 200) {
// Print out the response body
console.log(cmd+": Updated.");
console.log(body);
} else {
// TODO: Handle errors
console.log(cmd+": Failed. Need to handle errors.");
console.log(body);
}
});}
摘自fb-get-started-button.json:
{
"setting_type":"call_to_actions",
"thread_state":"new_thread",
"call_to_actions":[
{
"payload":"action?POSTBACKHERE"
}
]
}
答案 0 :(得分:1)
Facebook现在提供了一个新的API,用于设置具有许多其他功能的“入门”按钮,例如问候语文本和持久性菜单,因此不使用旧的thread_setting api,而是使用信使配置文件api。例如使用curl
curl -X POST -H "Content-Type: application/json" -d '{
"get_started":{
"payload":"GET_STARTED_PAYLOAD"
}
}' "https://graph.facebook.com/v2.6/me/messenger_profileaccess_token=PAGE_ACCESS_TOKEN"
将PAGE_ACCESS_TOKEN替换为您的页面访问令牌,将GET_STARTED_PAYLOAD替换为您想要的任何有效负载。 查看完整的tutorial here
答案 1 :(得分:0)
我有同样的问题。 Here您可以找到文档。
我试图执行没有结果的示例。
curl -X POST -H“Content-Type:application / json”-d'{ “setting_type”: “call_to_actions” “thread_state”: “new_thread” “call_to_actions”: { “有效载荷”: “USER_DEFINED_PAYLOAD” } ] }'“https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN”
我的错误是:
需要pages_messaging权限来管理对象
但我的页面不公开。
修改:您可以找到解决方案Here。它不适用于页面管理员
答案 2 :(得分:0)
现在,使用该新API,我正在尝试使用该请求设置GetStarted按钮:curl -X POST -H "Content-Type: application/json" -d '{ "get_started":{
"payload":"start"}
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=My_Token"
获得{"result":"success"}
。但该按钮仍未显示在聊天中。所以,我仍然不明白,这里的问题是什么......