FacebookのデフォルトのPHPWebサイト統合と認証を使用しようとしています。ユーザーがログインすると、ユーザーからさまざまな情報を取得するためのアクセス許可を要求できます。
この質問はちょっと古いです。harkirat1892のコメントに注意してください。
「FacebookSDKv4.4を使用している人がこの質問に出くわした場合、小さな変更があるため、Dhirajによる回答は機能しません。getLoginUrlに渡される配列にredirect_uriを含める必要はありません。
v4.4によると、getLoginUrlは次のように機能するはずです。
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,user_checkins, user_birthday'
)
);
さまざまなスコープがここにあります:Facebookの権限。」
JavaScriptを使用してそれを行う方法を理解するのは本当に簡単でしたが、PHPの例でスコープを指定する場所がわかりません。
基本的に、私は彼らの電子メールと場所、そして多分他のいくつかの情報にアクセスする許可を要求したいだけです。
これが私が使っているコードです:(それはわずかに変更されていますが、彼らが持っていたものとほぼ完全に一致しています。)
<?php
define('YOUR_APP_ID', '---------');
define('YOUR_APP_SECRET', '------------');
//Uses the PHP SDK. Download from https://github.com/facebook/php-sdk
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$FBUID = $facebook->getUser();
?>
<?php if ($FBUID) {
$userInfo = $facebook->api('/' + $FBUID); ?>
<?php $FBName = $userInfo['name'];?>
<!--
Welcome <? // = $userInfo['name'] ?> -->
<?php } else { ?>
<div id="fb-root"></div>
<fb:login-button></fb:login-button>
<?php } ?>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '---------------',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>