如何使用Botframework v4在Messenger上获取持久菜单和“入门”按钮?

时间:2019-02-24 16:15:32

标签: c# botframework

大家好,我是一名初学者,我希望Messenger UI具有“开始使用”按钮和持久菜单。我无法从这个doc中得到任何东西。 我尝试了谷歌搜索和其他搜索,我所能看到的都是json和curl代码,我不知道从哪里开始放置它们。

有人可以引导我吗? 我正在使用C#和BotFramework V4。谢谢

更新:我现在得到它供以后参考,或者其他是这里的代码。

“入门”按钮:

    $ curl -X POST -H "Content-Type: application/json" -d '{
> "setting_type":"call_to_actions",
> "thread_state":"new_thread",
> "call_to_actions":[
>  {
>   "payload":"Get Started"
>  }
> ]
> }' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=<Page access token>"

,对于“持久菜单”,其答案如下。

1 个答案:

答案 0 :(得分:0)

您只需要向此端点发送HTTP POST请求: 您可以使用Postman或从命令行执行此操作。

您应使用Facebook页面访问令牌替换<PAGE_ACCESS_TOKEN>,以便FB识别您的页面以添加持久菜单。

https://graph.facebook.com/v2.6/me/messenger_profile?access_token= <PAGE_ACCESS_TOKEN>

此外,您还必须将持久菜单的数据附加到HTTP请求的正文中。

最后,添加“ Content-Type:application / json”作为HTTP标头。

示例:

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://www.messenger.com/",
          "webview_height_ratio":"full"
        }
      ]
    },
    {
      "locale":"zh_CN",
      "composer_input_disabled":false,
      "call_to_actions":[
        {
          "title":"Pay Bill",
          "type":"postback",
          "payload":"PAYBILL_PAYLOAD"
        }
      ]    
    }
  ]
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"