Javascript 通过api返回列表将选项卡添加到页面,但通过浏览器ping请求将返回true

Javascript 通过api返回列表将选项卡添加到页面,但通过浏览器ping请求将返回true,javascript,facebook,facebook-graph-api,tabs,facebook-javascript-sdk,Javascript,Facebook,Facebook Graph Api,Tabs,Facebook Javascript Sdk,我正在尝试向页面添加选项卡,facebooks graph api声明应发出具有以下参数的请求: /PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN 当我将其与FB.api一起使用时: FB.api("/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN", function

我正在尝试向页面添加选项卡,facebooks graph api声明应发出具有以下参数的请求:

/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN
当我将其与FB.api一起使用时:

FB.api("/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN", function(response) {

});
响应只是页面上的选项卡列表,但当我转到brwoser并输入相同内容时:

https://graph.facebook.com/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN
同一请求仅手动返回true并添加选项卡

注意:
我有页面访问令牌和页面id,如“创建”小节所述。您能试用以下代码吗:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Add to Page Dialog Page</title>
  </head>
  <body>
    <div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<p><a onclick='addToPage(); return false;'>Add to Page</a></p>
<p id='msg'></p>

<script> 
  FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});

  function addToPage() {

    // calling the API ...
    var obj = {
      method: 'pagetab',
      redirect_uri: 'REDIRECT_URI',
    };

    FB.ui(obj);
  }

    </script>
  </body>
</html>

“我的添加到页面”对话框页面
添加到页面

init({appId:“您的应用程序ID”,状态:true,cookie:true}); 函数addToPage(){ //正在调用API。。。 var obj={ 方法:“pagetab”, 重定向\u uri:“重定向\u uri”, }; FB.ui(obj); }
响应只是页面上选项卡的列表

这就是对
/pageid/tabs
的get请求所得到的

因此,这表明您的参数
method=post
未被正确识别,因此不会发出post,只会发出GET请求……您将获得页面的选项卡列表

使用此选项,则它应该可以工作:

FB.api("/PAGE_ID/tabs?app_id=MY_APP_ID&access_token=PAGE_ACCESS_TOKEN",
  "post",
  function(response) { console.log(response); }
);
这里通过第二个参数告诉FB.api要使用什么方法,只需将方法名作为字符串传递,
“post”


刚刚使用我的一个页面和应用程序进行了测试–它只是按照预期在控制台中返回
true
,然后该应用程序作为页面选项卡应用程序安装在页面上。

这不是我要找的,这将打开一个对话框并请求用户为他拥有的页面添加选项卡,我想进行一个api调用,该调用将选项卡添加到页面(我有页面访问令牌和页面id),因此我拥有执行此类操作所需的所有权限,请阅读我在回答中的描述。谢谢,看起来facebook需要使用您提到的“post”参数执行此操作。