即使在白名单域之后,从messenger webview获取用户ID也出错

时间:2017-04-24 13:42:56

标签: php messenger

我已将白色列在我的域名中,并收到一条消息,表明它已成功

  

{"结果":"成功更新列入白名单的域名"}

但是当我尝试获取用户ID时,我收到错误消息

  

错误发生的客户扩展程序未启用 - 可能是" messenger_extensions"没有设置在网址上,域名没有列入白名单,或者这是Messenger客户端的过时版本

我正在使用PC,所以过时的版本可能不是它,我有这样设置的信使扩展

$get_started_display = "{
'recipient':{
'id': $sender_id
},
'message':{
'attachment':{
  'type':'template',
  'payload':{
    'template_type':'button',
    'text':'Click a button below to continue',
    'buttons':[

      {
        'type':'web_url',
        'title':'Add Leader Profile',
        'url':'https://aadb-3120.herokuapp.com/login.html',
        'webview_height_ratio' : 'full',
        'messenger_extensions': true
      },
      {
        'type':'postback',
        'title':'Review Added Profile',
        'payload':'review'
      },

      {
        'type':'postback',
        'title':'Help',
        'payload':'help'
       },
     ]
   }
  }
 }
}";
please what are my doing wrong?

2 个答案:

答案 0 :(得分:1)

信使平台社区的其中一位管理员刚刚确认网络视图扩展无法在PC上运行,因此我可以获取用户ID的唯一方法是将其添加到URL按钮上的URL或通过会话变量。

答案 1 :(得分:0)

我不认为这是一种有效的json格式。它应该是双引号而不是单引号。为什么不用php数组编写代码并转换为json以减少犯错的几率。

例如

$data = [
'recipient' => [
    'id' => $sender_id
],
'message' => [
    'attachment' => [
        'type' => 'template',
        'payload' => [
            'template_type' => 'button',
            'text' => 'Click a button below to continue',
            'buttons' => [
                [
                    'type' => 'web_url',
                    'url' => 'https://google.com',
                    'title' => 'Visit Google',
                    "webview_height_ratio" => "compact"
                ]
            ]
        ]
    ]
]];


$json = json_encode($data);