2017-04-13 161 views
0

当我把这个json数据与PHP curl发送到Facebook Messenger Bot api时,它工作正常。facebook messenger api,模板不起作用

$ jsonData = '{ “收件人”:{ “ID”:“' $发送者。 ' ” }, “消息”:{ “文”:“'。$ 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更新后不起作用,或者我需要使用新参数?

回答

0

确保:

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_aciton将工作:)