2017-06-02 34 views
0

我想使用Facebook bot的嵌套菜单,但设置持久菜单的新API不起作用。Facebook新的嵌套持久性菜单不起作用

即使我删除嵌套菜单,Facebook返回“成功”,但Facebook页面不显示菜单。

如果我在thread_settings上使用旧的API,那么它可以工作。但是使用新的API我根本没有得到任何菜单。新的API适用于入门按钮,但不适用于菜单。

我已经尝试了一切,并不知道为什么它不工作。它返回成功,但没有菜单。我也设置了入门按钮。

curl -X POST -H "Content-Type: application/json" -d '{ 
    "persistent_menu":[ 
    { 
    "locale":"default", 
    "composer_input_disabled":false, 
    "call_to_actions":[ 
     { 
      "type":"web_url", 
      "title":"Test", 
      "url":"https://facebook.com" 
     } 
     ] 
    } 
    ] 
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token={{token}}" 
+0

它不只是嵌套不工作,新的API并没有在所有的工作,它没有给菜单可言。旧API的作用,不知道Facebook是否从旧API缓存某些东西,或者你需要设置一些东西以便使用新的API,或者需要等待更长的时间才能使菜单显示新的API? – James

+0

我尝试创建一个新页面,并且存在相同的问题,即使它们返回“成功”,旧的API仍然不起作用。仍然使用现有的应用程序,还没有尝试新的应用程序。 – James

回答

1

我试过了,它的工作原理。 检出代码here

你可以在这里尝试BOT:https://www.facebook.com/nautankibot/

我会加你为测试人员,如果你想使用这个机器人作为不公开的。在BOT

截图嵌套菜单:

screenshot of nested menuenter image description here

它适用于FB Messenger应用也是如此。

在上面的卷曲叫你没有设置为“嵌套”在call_to_actions

上面的例子是从fb documentation for menus

+0

这不仅仅是因为嵌套不工作,新的API根本不起作用,它根本没有任何菜单。旧API的作用,不知道Facebook是否从旧API缓存某些东西,或者你需要设置一些东西以便使用新的API,或者需要等待更长的时间才能使菜单显示新的API? – James

+0

您的机器人首先使用旧API的菜单,还是新机器人? – James

+0

我使用了新的API,它运行良好。一旦通话返回成功,我可以立即看到菜单。我能够立即看到菜单。 –

1

采取我发现Graph API Explorer给了我比卷曲命令很多更成功的类型。

只需在“获取令牌”菜单中选择要发布的页面即可。 设置为发布给我/ messenger_profile, 将字段名称添加为“peristent_menu”, 和值作为您的json数组。

它会告诉你,如果你的文章有任何问题。

你的json应该看起来像这样嵌套。

[ 
    { 
    "locale":"en_US", 
    "composer_input_disabled":false, 
    "call_to_actions": 
    [ 

     { 
     "title":"Menu", 
     "type":"nested", 
     "call_to_actions": 
     [ 
      { 
      "title":"Home", 
      "type":"postback", 
      "payload":"PHome" 
      }, 
      { 
      "title":"Back", 
      "type":"postback", 
      "payload":"PBack" 
      } 
     ] 
     }, 
     { 
     "title":"Other", 
     "type":"nested", 
     "call_to_actions": 
     [ 
      { 
      "type":"web_url", 
      "title":"View Website", 
      "url":"https://www.facebook.co.za", 
      "webview_height_ratio":"full" 
      } 
     ] 
     } 
    ] 
    }, 
] 
+0

我试过这个,并从资源管理器的POST调用中获得“成功”,但*无*菜单 – James

+0

如果我使用旧的API我/ thread_settings它立即开始工作,旧API也会给出响应,{ “结果”:“成功添加结构化菜单CTA” }新的API只会给出{“result”:“success”} – James

+0

您是否有开始使用按钮?你必须有一个持久菜单。 – Mrakulis

0

Graph API Explorer也适用于我。

我做了一个混乱,试图通过CURL删除持久菜单。 (我爱终端)。使用资源管理器很容易解决。

只要记住: screenshot using Graph API Explorer