当前位置: 首页 > 知识库问答 >
问题:

facebook messenger api,模板不起作用

聂华翰
2023-03-14

当我用PHP curl发送这个json数据到Facebook Messenger Bot api时,它工作正常。

$jsonData='{“收件人”:{“id”:“'.$sender.”“}”,消息:{“文本”:“'.$obj.”“}”;

但是,当我从FB页面使用模板。模板不起作用

$jsonData = '{
  "recipient":{
    "id":"'.$sender.'"
  },
  "message":{
    "attachment":{
      "type":"template",
      "payload":{
        "template_type":"generic",
        "elements":[
           {
            "title":"Hello",
            "image_url":"http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-check-icon.png",
            "subtitle":"Title",
            "default_action": {
              "type": "web_url",
              "url": "https://google.com",
              "messenger_extensions": true,
              "webview_height_ratio": "tall",
              "fallback_url": "https://google.com/"
            },
            "buttons":[
              {
                "type":"web_url",
                "url":"https://google.com",
                "title":"View Website"
              },{
                "type":"postback",
                "title":"Start Chatting",
                "payload":"DEVELOPER_DEFINED_PAYLOAD"
              }              
            ]      
          }
        ]
      }
    }
  }
}';

我试图编码成Json,替换一个按钮,什么都没发生。Facebook模板在messenger更新后无法使用,或者我需要使用新参数?

共有1个答案

庄飞
2023-03-14

确保:

1:google.com在您的白名单中。
2:它是HTTPS,但不是HTTP

否则你会得到这样的错误

{"error":{"message":"(#100) The URL provided is not whitelisted for messenger extensions","type":"OAuthException","code":100,"error_subcode":2018062,"fbtrace_id":"GNd1AXlQsjz"}}

我猜如果你删除default\u aciton它会起作用:)

 类似资料:
  • 对于以下代码: C++14编译器产生错误: 我很好奇为什么模板参数推导在这里不起作用。似乎,假定g的参数是int类型,我们可以推断f的参数是类型,因此f中的。为什么没有发生这种情况?我对C++标准中解释这一点的相关部分很感兴趣。T是否出现在这里的非推导上下文中? 因此,创建非推导上下文的不是尖括号。

  • 问题内容: 我想尝试使用模板文字,但它不起作用:它显示文字变量名称,而不是值。我正在使用Chromev50.0.2(和jQuery)。 例: 输出: 问题答案: JavaScript 模板文字 需要反引号,而不是直接引号。 您需要使用反引号(也称为“重音符”-您会在1键旁边找到)-而不是单引号-来创建模板文字。 反引号在许多编程语言中都很常见,但可能对JavaScript开发人员来说是新的。 范例

  • 我的MySQL工作台6.0(我在Ubuntu上工作)有问题,当我选择一个服务器实例时,它显示的不是“SCHEMAS”面板,而是消息“No object selected”。在“SQL面板”(主面板)中,查询<code>显示数据库有效,但我在“SCHEMAS”面板中没有数据库列表。 我的所有实例都有这个问题,当有很多数据库和表时,这很烦人! 你对这个问题有什么想法吗? 谢谢,

  • 问题内容: 这里有角的菜鸟。我正在创建一个指令以递归显示问题树和子问题树。我正在模板中使用链接,该链接在范围内调用函数。由于某种原因,它不会调用该方法。 这是代码和小提琴http://jsfiddle.net/madhums/n9KNv/ HTML: Javascript: 任何帮助理解这一点将不胜感激。 问题答案: 您遇到范围问题。由于您在指令中使用隔离范围,因此它不再有权访问具有的控制器范围。

  • 问题内容: Oracle 10g,休眠3.4 此更新(基于值)正确完成: 这个(基于值)抛出异常: 有人知道为什么吗? 问题答案: Hibernate文档说: 批量HQL查询中不能指定隐式或显式连接。子查询可以在where子句中使用,其中子查询本身可能包含联接。 因此,您需要用等效的子查询替换隐式连接:

  • 问题内容: Oracle 10g,hibernate3.4 此更新(基于值)正确完成: 这个(基于值)抛出异常: 有人知道为什么吗? 问题答案: Hibernate文档说: 批量HQL查询中不能指定隐式或显式连接。子查询可以在where子句中使用,其中子查询本身可能包含联接。 因此,您需要用等效的子查询替换隐式连接: