私は PHP SDK を使用して Facebook アプリを構築しています。必要なのは、ログイン アプリ ウィンドウ (ユーザーに承認を受け入れるように求めるウィンドウ) を自動的に表示することだけです。
現時点では、このウィンドウを表示できますが、ユーザーがリンクをクリックし、リンクがターゲット _blank にある場合にのみ表示されます。
header('location:XXX') を実行しようとしても、何も起こりません。Javascript で document.location を実行しても、それ以上は起こりません。
私のコード:
$facebook = new Facebook(array(
'appId' => $appid,
'secret' => $appsecret,
'cookie' => true,
));
// Get User ID
$fb_user = $facebook->getUser();
if ($fb_user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$fb_user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$fb_user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($fb_user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,user_birthday'
));
}
// if the user hasn't yet accept the app :
if ($fb_user == 0){
echo "<a href='$loginUrl' target='_blank'>log</a>
}
どんな助けでも大歓迎です!