0

PHP SDK を使用して、ユーザーにアプリを承認してもらいます。少しトリッキーなのは、タブ内でこれを行っていることです。リダイレクトURIはタブ「iframe」を壊し、通常のアプリとして開くだけです。これは望ましくありません。ページタブのiframe内に保持するにはどうすればよいですか。以下は私のコードです。

<?php

include("utility.php");
include("db_setup.php");
require_once "base_facebook.php";
require("facebook.php");
$facebook = new Facebook(array(
    'appId'  => 'xxxxxx',
    'secret' => 'xxxxxx',
));

$conn = connectUserDB();
$user = $facebook->getUser();
if ($user) {
    try {
        // Proceed knowing you have a logged in user who's authenticated.

          //$user_profile = $facebook->api('/me?fields=name,id,email');

header( 'Location: submitted.php' ) ;

       } catch (FacebookApiException $e) {
    //print_r($e);
        $user = null;
    }
}
// $user is null : $user is either not logged in or the token is not valid
else if(!$user) { 
$params = array(
'scope' => 'email',
'redirect_uri' => 'submitted.php'
);

$loginUrl = $facebook ->getLoginUrl($params);

echo '<script type="text/javascript">';
echo 'top.location.href = " '.$loginUrl.' " ; ';
echo '</script>';
}

?>
4

1 に答える 1

0

ユーザーがタブを離れずにログインする必要がある場合は、javascript SDKを使用できます (ポップアップを開く関数FB.login()を呼び出すことができます)。

PHP を使い続けたい場合は、「通常のアプリ」 (Facebook の iframe で開かれるページ) で、Facebook のタブにリダイレクトするだけです。ユーザーがログインしてページにリダイレクトされた後、ユーザーを Facebook タブにリダイレクトします。

于 2013-03-06T09:25:22.503 に答える