IOS应用程序中的Facebook社交插件/评论

时间:2013-05-23 14:00:21

标签: ios facebook facebook-javascript-sdk facebook-php-sdk facebook-ios-sdk

过去几周我在这个主题上做了大量的搜索,并尝试了我在这里找到的多个答案,这些答案要么不适用于新的IOS SDK,要么不适用。所以我希望这不是一个重复的问题......

我们正在开发一个使用Facebook登录/ IOS SDK登录应用程序的IOS应用程序。然后,用户创建一些在应用程序中显示的内容供其他人查看。还可以在浏览器中在应用程序外部的Web上查看内容。希望在应用程序和网站上使用Facebook评论社交插件。

我可以轻松地在生成的网页中添加评论社交插件,但也希望评论在应用程序内部的UIWebView中可用。问题出在应用程序中,用户已经在应用程序中登录到Facebook,但是当我显示帖子的评论部分时,它会要求用户重新登录。

我想通过某种方式将访问令牌或会话从IOS SDK传递给Javascript来避免这种情况。我可以成功地将访问令牌传递到我们服务器上的PHP脚本并进行调用,如$ facebook-> getUser()等,但似乎无法阻止评论社交插件中的重复登录,即使在调用插件时也是如此从我在下面写的PHP脚本。

通过示例,任何帮助都会很棒。

谢谢!安迪P

<?php

require_once("facebook.php");


$config = array();
$config['appId'] = $_POST["appId"];
$config['secret'] = $_POST["secret"];
$config['fileUpload'] = false; // optional
$config['cookie'] = true;

$facebook = new Facebook($config);
$facebook->setAccessToken($_POST["accessToken"]);
$user = $facebook->getUser();
// note, I always get back a good $user here when I pass the accessToken from SDK
?>
<body>
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : '<?php echo $_POST["appId"]?>',                        // App ID     from the app dashboard
      channelUrl : '//www.awplabs.com/channel.html', // Channel file for x-domain comms
      status     : true,                                 // Check Facebook Login status
      xfbml      : true,                                  // Look for social plugins on the page
      cookie : true,
      oauth:true
    });

    // Additional initialization code such as adding Event Listeners goes here

  };

  // Load the SDK asynchronously
  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/all.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));    


</script>

<?php 
echo "<div class=\"fb-comments\" data-href=\"https://awplabs.com/" . $_POST["pageId"] . "\" data-width=\"480\" data-num-posts=\"20\"></div>"
?>

</body>

0 个答案:

没有答案