私は次のコードに夢中になっています:
<?php
//Code of http://example.com/facebook/
require_once("../settings.php"); //Providing some settings
function authorize()
{
header("HTTP/1.1 303 See Other");
header("Location: https://www.facebook.com/dialog/oauth?client_id=".urlencode($GLOBALS["FacebookConfig"]["appId"])."&redirect_uri=".urlencode("http://example.com/facebook/".(isset($_GET["delete"])?'?delete':''))."&scope=read_mailbox,offline_access");
exit();
}
require_once("SDK/facebook.php");
if(!isset($_GET["code"]))
{
authorize();
}
$facebook = new Facebook($GLOBALS["FacebookConfig"]); //$GLOBALS["FacebookConfig"] is defined and set correctly
$user=$facebook->getUser(); //retreive User ID
if(!$user)
{
header("HTTP/1.1 303 See Other");
$LoginURL=$facebook->getLoginUrl();
header("Location: ".$LoginURL); //Endless redirect here
exit();
}
?>
私の問題は、$user
常に残っ0
ているため、クライアントが無限にリダイレクトされることです。$user
しかし、私はいつもとどまる理由がわかりません0
。通常は、現在ログインしているFacebookユーザーのユーザーIDである必要があります。
編集:このよう$GLOBALS["FacebookConfig"]
に設定されsettings.php
ています:
$GLOBALS["FacebookConfig"] = array();
$GLOBALS["FacebookConfig"]['appId'] = 'appID'; //appID replaced
$GLOBALS["FacebookConfig"]['secret'] = 'appSecret'; //appSecret replaced
$GLOBALS["FacebookConfig"]['fileUpload'] = false;