チャットボットにネストされた永続メニューを追加しようとしています。 Facebookには3つのボタンの制限がありますが、最大5つのボタンで入れ子になったボタンを持つことができます。Facebook Messenger Nested Persistent Menu Error
この私がここに私のコード
response body error
type: 'OAuthException',
Error: { message: '(#100) Invalid keys "call_to_actions" were found in param "call_to_actions[0]".', code: 100}
を実行したときに私が手にエラーが私のコードです:
function addPersistentMenu(){
request({
url: "https://graph.facebook.com/v2.6/me/thread_settings",
qs: {access_token: token},
method: "POST",
json:{
setting_type : "call_to_actions",
thread_state : "existing_thread",
call_to_actions : [
{
type: "nested",
title: "Menu Item One",
call_to_actions: [
{
type: "postback",
title: "Nested Item One",
payload: "NESTED_ONE"
},
{
type: "postback",
title: "Nested Item Two",
payload: "NESTED_TWO"
}
]
},
{
type: "postback",
title: "Menu Item Two",
payload: "TWO"
},
{
type: "postback",
title: "Menu Item Three",
payload: "THREE"
}
]
}
}, function(error, response, body) {
if(error){
console.log('sending error')
console.log('Error sending messages: ', error)
}else if(response.body.error){
console.log('response body error')
console.log('Error: ', response.body.error)
}
});
}
私は、ネストされたボタンを削除すると、永続的なメニューは、そう私はありません表示されますエラーが何であるか確かめてください。私のコードは、persistent menu docでFacebookに投稿されたサンプルとかなり似ています。私はherokuでホストされているnode.jsを使ってプログラミングしています。私はthe code found hereの後にメニュー機能をモデル化しました。
質問:npmリクエストパッケージを使用してnodejs webhookを使ってメッセンジャーにリクエストを送信した人はいますか?入れ子になった永続メニューを追加するにはどうすればいいですか?このエラーは何を意味しますか?
編集: 永続的なメニュー文書のexactコマンドを使用して端末経由で直接CURL POSTを使用すると、ネストされた永続メニューが追加されます。私はそれを動作させるために、このリクエストのnodejs webhookバージョンに何を追加するか分からない。
これはCURLコマンドです:
curl -X POST -H "Content-Type: application/json" -d '{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled":true,
"call_to_actions":[
{
"title":"My Account",
"type":"nested",
"call_to_actions":[
{
"title":"Pay Bill",
"type":"postback",
"payload":"PAYBILL_PAYLOAD"
},
{
"title":"History",
"type":"postback",
"payload":"HISTORY_PAYLOAD"
},
{
"title":"Contact Info",
"type":"postback",
"payload":"CONTACT_INFO_PAYLOAD"
}
]
},
{
"type":"web_url",
"title":"Latest News",
"url":"http://petershats.parseapp.com/hat-news",
"webview_height_ratio":"full"
}
]
},
{
"locale":"zh_CN",
"composer_input_disabled":false
}
]
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=YOUR_ACCESS_TOKEN_HERE"
ありがとうございます!私はノードのjsコードを試して、私はもはやスタートボタンが表示されない、またはメニューです。私はもうエラーメッセージが出ることはありません。送信されたJSONレスポンスは、{"result": "new_threadのCTAを正常に追加しました"}の代わりに{"object": "Object"}を表示します。 –
もう一度試してみてください。変更を加えなかったちょうど前に追加しようとしたメニューを開始ボタンとメニューを削除しました。出来た。 –
私は、永続的なメニューがその状態をキャッシュしていることに気付きました。ページの再読み込みやアプリの再起動を繰り返す場合があります。 –