1

私はFacebookのiframeアプリに取り組んでいます。PHP SDK と JS SDK の両方を使用しています。インデックス ファイルでは、ユーザーに関する情報を取得するために PHP SDK を呼び出します。これには、常にインデックスで機能する getUser() 関数が含まれます。

ただし、ユーザーが特定のリンクをクリックしたときにインデックスに div を設定するために使用する PHP ファイルは他にもいくつかあります。これらの各ファイルで FB PHP SDK を使用して、ユーザーがまだ FB にログインしていることを確認しています。つまり、これらのファイルが実行されると、getUser() 関数を呼び出してユーザーの ID を取得し、そのユーザーがまだログインしているかどうかを判断します。これらの PHP ファイルの内容を、jQuery の load() 関数を介して index の div に挿入します。 .

これは、FFox、Opera、IE、および Chrome では正常に動作しますが、Safari の特定のインストールでは動作しません。具体的には、5.1.5 (7534.55.3) で大きな問題が発生しました。このバージョンの Safari で jQuery ロード関数によって PHP ファイルが呼び出されると、getUser() 関数は常に 0 (ゼロ) を返すようです。これはセッション Cookie と関係があると思いますか? 私には本当にわからないので、ここにいる誰かが私のためにこれに光を当ててくれることを望んでいました. ありがとう..

4

2 に答える 2

0

これをサイトに追加できます。

<?php
$uid = $facebook->getUser();

if ($uid==0) {

    $params = array(
      'scope' => 'read_stream, friends_likes',
      'redirect_uri' => 'https://www.myapp.com/post_login_page'
    );

    $loginUrl = $facebook->getLoginUrl($params);
    echo '<a href="'.$loginUrl.'">You need first to Login</a>';
    exit();

} else {

     //Continue your site code

} 


?>
于 2013-03-22T21:40:14.017 に答える