域名未被添加,白名单域名facebook Messenger扩展

时间:2017-04-21 22:24:15

标签: node.js facebook-messenger whitelist facebook-messenger-bot botkit

我一直在尝试按照facebook提供的说明将我的域列入白名单,但没有任何工作。

我首先尝试使用curl,响应为{result:"success"},但当我尝试列出列入白名单的域时,我得到{data:[]}

然后我尝试使用节点请求模块如下:

request.post("https://graph.facebook.com/v2.6/me/messenger_profile?access_token=sfdlksdfu79r9429049824982342348sjdfsf", {
                "setting_type": "domain_whitelisting",
                "whitelisted_domains": ["https://mydomainw.com", "https://mydomainw.com/profile", "https://sfujyx.com/ofr", "mydomain1.com", "mydomain.com"],
                "domain_action_type": "add"}, function (err, res, body) {
                console.log("Whitelisting domain");
                if (!err) {
                    console.log(body);
                    console.log("Showing the list of whitelisted:");
                    request.get("https://graph.facebook.com/v2.6/me/messenger_profile?fields=whitelisted_domains&access_token=sfdlksdfu79r9429049824982342348sjdfsf", function (err, res, body) {
                        if (!err) {
                            console.log(body);
                        } else {
                            console.log(err);
                        }
                    });
                } else {
                    console.log(err);
                }
            });

它仍然带来与curl相同的结果:

Screen shot of the result of the code

当我使用Facebook Graph Api Explorer工具时,这是我得到的错误:

Graph Api tool, to whitelist domain

我真的被困住了,我不知道该怎么做,或者人们如何将域名完全列入白名单以进行信使扩展。

我做错了什么?为什么不添加域名?

我的项目在Google App Engine上。

3 个答案:

答案 0 :(得分:3)

问题是我使用的是应用访问令牌而不是页面访问令牌,我不知道其中的区别。

答案 1 :(得分:2)

您的域名:“https://mydomainw..com”是无效域名。

请求应返回:

t withFilter {
  case s @ (_x: String) => true
  case _ => false
} map {
  case y: String => y
}

答案 2 :(得分:2)

实际上,我没有使用" setting_type"之前。这就是我注册域名的方式:

var request = require("request");

var options = { method: 'POST',
  url: 'https://graph.facebook.com/v2.6/me/messenger_profile',
  qs: { access_token: 'my_page_token' },
  headers: { 'content-type': 'application/json' },
  body: 
   { whitelisted_domains: 
      [ 
        'https://mydomainw.com',
        'https://ijuugwivbc.localtunnel.me' ] },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});