【问题标题】:Facebook new nested persistence menu not workingFacebook 新的嵌套持久性菜单不起作用
【发布时间】:2020-12-13 01:59:56
【问题描述】:

我想为 Facebook 机器人使用嵌套菜单,但用于设置持久菜单的新 API 不起作用。

即使我删除了嵌套菜单,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}}"

【问题讨论】:

  • 不仅仅是嵌套不起作用,新的 API 根本不起作用,它根本没有提供任何菜单。旧 API 在哪里工作,不确定 Facebook 是否正在缓存旧 API 中的某些内容,或者您​​需要设置一些内容以便使用新 API,还是需要等待更长的时间才能让新 API 显示菜单?
  • 我尝试创建一个新页面,并且存在同样的问题,新的菜单 API 根本不起作用,即使它们返回“成功”,旧的 API 也起作用。仍在使用现有应用,尚未尝试新应用。

标签: facebook facebook-graph-api facebook-messenger-bot


【解决方案1】:

我发现Graph API Explorer 比 curl 命令更成功。

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

它会告诉你你的帖子是否有问题。

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

[
  {
    "locale":"default",
    "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"
          }
        ]
      }
    ]
  },
]

【讨论】:

  • 我确实尝试过,并从资源管理器的 POST 调用中获得“成功”,但根本没有 no 菜单
  • 如果我使用旧的 API me/thread_settings 它会立即工作,旧的 API 也会给出响应,{“result”:“成功添加结构化菜单 CTA”} 而新的只是给出 { “结果”:“成功”}
  • 您有“开始”按钮吗?您必须拥有一个永久菜单。
  • 好吧,Get started 按钮的新 API 也不起作用,调用新 messenger_profile API 时页面中什么也没有,但调用旧 thread_settings API 时得到按钮。
  • @James 为了测试开始按钮,您需要确保删除所有以前的对话。开始按钮只出现一次。因此,要对其进行测试,您将不得不继续删除您与机器人的对话。检查OnlineSalesAI 机器人。单击开始,然后删除对话并重新加载页面;你会看到重新开始。希望这会有所帮助!
【解决方案2】:

我已经尝试过了,它确实有效。 查看代码here

您可以在这里试用机器人:https://www.facebook.com/nautankibot/

如果您想将此机器人用作非公开机器人,我必须将您添加为测试员。

机器人中嵌套菜单的屏幕截图:

它也适用于 fb messenger 应用程序。

在上面的 curl 调用中,您没有在 call_to_actions 中将类型设置为“嵌套”

以上例子取自fb documentation for menus

【讨论】:

  • 不仅仅是嵌套不起作用,新的 API 根本不起作用,它根本没有提供任何菜单。旧 API 在哪里工作,不确定 Facebook 是否正在缓存旧 API 中的某些内容,或者您​​需要设置一些内容以便使用新 API,还是需要等待更长的时间才能让新 API 显示菜单?
  • 你的机器人是先有一个旧 API 的菜单,还是新的机器人?
  • 我使用了新的 api,它运行良好。呼叫返回成功后,我可以立即看到菜单。我能够立即看到菜单。
  • @James 它的新机器人。我之前没有任何菜单
  • 可能是现有菜单的问题。是否有人能够使用新 API 升级具有旧菜单的现有机器人?
【解决方案3】:

Graph API Explorer 也适用于我。

我试图通过 CURL 删除持久菜单时弄得一团糟。 (我喜欢终端)。使用资源管理器很容易解决。

只记得: screenshot using Graph API Explorer

【讨论】:

    【解决方案4】:

    您可以使用这种格式 fb v8

    { “语言环境”:“默认”, “composer_input_disabled”:假, “call_to_actions”:[ { “类型”:“回发”, "title": "? عرض بالتصنيفات ", “有效载荷”:“类别” },

            {
              "type": "postback",
              "title": "? عرض اخر اوردر",
              "payload": "PAYBILL_PAYLOAD"
            },
            {
              "type": "postback",
              "title": "? عرض المفضلة",
              "payload": "HISTORY_PAYLOAD"
            },
            {
              "type": "postback",
              "title": "? الفاتورة كام",
              "payload": "CONTACT_INFO_PAYLOAD"
            },
        
            {
              "type": "postback",
              "title": "? عرض الجديد",
              "payload": "WisNew"
            },
            {
              "type": "web_url",
              "title": "? فتح القناة",
              "url": "https://www.t.me/jmllaa",
              "webview_height_ratio": "full"
            },
            {
              "type": "postback",
              "title": "? كوبون خصم",
              "payload": "CONTACT_INFO_PAYLOAD"
            }
          ]
       
    }
    

    【讨论】:

      猜你喜欢
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多