Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从facebook选项卡发布到用户墙_Facebook_Permissions_Tabs - Fatal编程技术网

从facebook选项卡发布到用户墙

从facebook选项卡发布到用户墙,facebook,permissions,tabs,Facebook,Permissions,Tabs,如何从facebook选项卡提示用户获取流发布和电子邮件权限?我找到的所有内容都不会让我重定向回iframe中加载的当前页面或facebook选项卡url。我尝试过的每件事都让我犯了一个普遍的Facebook错误 需要注意的一点是,我并没有从tabs iframe中加载的初始页面请求权限。我正在填写并提交一个表单,该表单将iframe重定向到另一个页面,在第二个页面上,我需要请求权限。原因是我希望在可能吓跑用户之前填写表单,因为他们不想允许权限 如果我可以弹出“张贴到您的墙框”并让用户单击“提交

如何从facebook选项卡提示用户获取流发布和电子邮件权限?我找到的所有内容都不会让我重定向回iframe中加载的当前页面或facebook选项卡url。我尝试过的每件事都让我犯了一个普遍的Facebook错误

需要注意的一点是,我并没有从tabs iframe中加载的初始页面请求权限。我正在填写并提交一个表单,该表单将iframe重定向到另一个页面,在第二个页面上,我需要请求权限。原因是我希望在可能吓跑用户之前填写表单,因为他们不想允许权限

如果我可以弹出“张贴到您的墙框”并让用户单击“提交”按钮,可能会更简单。这种方式不需要事先获得权限,对吗?这样做的代码是什么?

您可以使用:


我的提要对话框页面
投递

init({appId:“您的应用程序ID”,状态:true,cookie:true}); 函数postToFeed(){ //正在调用API。。。 var obj={ 方法:“提要”, 链接:'https://developers.facebook.com/docs/reference/dialogs/', 图片:'http://fbrell.com/f8.jpg', 名称:“Facebook对话”, 标题:“参考文档”, 描述:“使用对话框与用户交互。” }; 函数回调(响应){ document.getElementById('msg').innerHTML=“Post ID:”+response['Post_ID']; } FB.ui(obj,回调); }

它在页面选项卡中运行良好。

我只需在每页初始化FB类一次,对吗?换句话说,我已经在FB.init页面上有了这个({appId:“YOUR_APP_ID”,status:true,cookie:true});所以我可以把它从对话框代码中去掉,对吗?或者每次初始化一个新的时我都必须包含这个吗?我终于找到了问题所在。在创建应用程序时进行新更改之前,您刚刚创建了应用程序。现在您可以选择应用程序、选项卡、网站、android等。。如果yopu仅选择选项卡设置,则使用任何FB API都会出现错误。您还必须选择应用程序设置。
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Feed Dialog Page</title>
  </head>
  <body>
    <div id='fb-root'></div>
    <script src='http://connect.facebook.net/en_US/all.js'></script>
    <p><a onclick='postToFeed(); return false;'>Post to Feed</a></p>
    <p id='msg'></p>

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

      function postToFeed() {

        // calling the API ...
        var obj = {
          method: 'feed',
          link: 'https://developers.facebook.com/docs/reference/dialogs/',
          picture: 'http://fbrell.com/f8.jpg',
          name: 'Facebook Dialogs',
          caption: 'Reference Documentation',
          description: 'Using Dialogs to interact with users.'
        };

        function callback(response) {
          document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
      }

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