0

私のアプリケーションはFacebookのログインURLに自動的に更新されますが、ユーザーはすでにサインインしているため、更新をノンストップで繰り返します。

これが私のコードです

$facebook = new Facebook(array(
    'appId'  => 'my app id',
    'secret' => 'my secret key',
    'cookie' => true,
));
$session = $facebook->getSession();
$fbme = null;
$loginUrl = $facebook->getLoginUrl(
    array(
        'canvas'    => 1,
        'fbconnect' => 0,
        'next' => 'my app uri',
        'cancel_url' => 'my app uri',
        'req_perms' => 'email,publish_stream,status_update,offline_access,user_birthday'
    )
);
if (!$session) {
   echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
   exit;
}
else {
  try {
      $uid      =   $facebook->getUser();
      $fbme     =   $facebook->api('/me');
  } catch (FacebookApiException $e) {
      echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
      exit;
  }
}
function d($d){
return TRUE;
}

そして、更新中の私のページのソースは次のとおりです。

"<script type='text/javascript'>top.location.href = 'facebook login url..';</script>

常に更新し、停止しません。

私はグーグルを見て、p3pポリシーを見つけました:header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 追加されましたが機能していません:(

英語が下手でごめんなさい。

4

2 に答える 2

3

私はあなたがこの文書を見る必要があると思います:

iframes / P3Pヘッダー
のCookie 一部のブラウザでは、P3Pヘッダーの存在に基づいてiframeにCookieを設定させます。特に、IEはこのヘッダーを尊重します。理想的には、アプリケーションで採用されているプラ​​イバシーポリシーに基づいて適切な値を調べたい場合がありますが、通常は任意の値で十分です。サンプルアプリケーションは、たとえばこれを送信します。

P3P: CP="HONK"
于 2011-02-22T20:37:55.323 に答える
0
  1. My Apps -> your application から PHP-Sdk の最新バージョンをダウンロードします。
  2. [マイ アプリ] -> [アプリケーション] -> [設定の編集] で [ストリーム ポスト URL セキュリティ] オプションを無効にします。

古いバージョンの PHP Sdk を使用している可能性があります。

于 2011-04-17T05:16:31.080 に答える