1

ここ数週間、このトピックについてかなりの量の検索を行い、ここで見つけた複数の回答を試しましたが、新しい IOS SDK では機能しないか、適用されません。したがって、これが繰り返しの質問と見なされないことを願っています...

アプリケーションへのログインに Facebook ログイン / IOS SDK を使用する IOS アプリケーションを開発しています。次に、ユーザーは、アプリケーションに表示されるコンテンツを作成して、他のユーザーに表示します。コンテンツは、アプリケーションの外部の Web でブラウザーで表示することもできます。希望は、アプリケーションとサイトの両方で Facebook コメント ソーシャル プラグインを利用することです。

生成された Web ページにコメント ソーシャル プラグインを簡単に追加できますが、アプリケーション内の 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>
4

0 に答える 0