के साथ लॉगिन स्थिति की जांच कर रहा हूं, जब मैं लॉगिन बटन पर क्लिक करता हूं तो लॉगिन पॉपअप लाने के लिए मैं फेसबुक के जावास्क्रिप्ट एसडीके का उपयोग कर रहा हूं।फेसबुक एपीआई: जावास्क्रिप्ट एसडीके का उपयोग करके लॉगिन करें, फिर PHP
कोड है, जैसा कि फेसबुक doucmentation में प्रदान करता है:
$(".loginButton").click(function(){
FB.login(function(response) {
FB.api('/me', function(response) {
console.log(response.id);
//User ID shows up so I can see that the user has accepted the app.
});
});
मैं भी जांच करने के लिए है कि उपयोगकर्ता वास्तव में में लॉग इन और आवेदन स्वीकार कर लिया है FB.getLoginStatus()
उपयोग कर सकते हैं।
हालांकि, अब मैं PHP के साथ एक फ़ंक्शन निष्पादित करना चाहता हूं। जहां तक मैं समझता हूं, PHP में $user
है जिसे सफल लॉगिन के बाद उपयोगकर्ता आईडी असाइन किया गया है।
समस्या जेएस लॉगिन $user
के बाद भी है 0
है। मैं अटक कर रहा हूँ और मैं समझ नहीं क्यों यह $user
यहाँ करने के लिए सही उपयोगकर्ता ID असाइन नहीं करेगा मेरी जे एस है:
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $AppId; ?>',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true,
channelUrl : '<?php echo $ServerPath; ?>channel.php' // custom channel
});
};
//Get Login Status
function amILoggedIn(){
var toreturn = "";
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
window.userId = response.authResponse.userID;
toreturn = "GetLoginStatus: logged in" + " " + "<?php echo $user; ?>";
} else {
toreturn = "GetLoginStatus: Logged Out";
}
console.log(toreturn);
});
};
// Load the SDK asynchronously
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
var obj = {
method: 'feed',
link: 'http://www.google.com'
};
$(".loginPopupButton").click(function(){
FB.login(function(response) {
FB.api('/me', function(response) { //user-specific stuff
console.log(response.id);
});
});
});
</script>
और यहाँ पीएचपी है:
<?php
include_once('fbapi/facebook.php');
include_once('fbapi/Authenticated_User.php');
include_once('config.php');
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => $AppId,
'secret' => $AppSecret
));
//Facebook Authentication part
$user = $facebook->getUser();
$perms = "manage_pages";
if(isset($_GET['backlink']))
$redirectUrl = urldecode($_GET['backlink']);
else
$redirectUrl = $fullserverpath;
$cancelUrl = $ServerPath."index.php?page=loginWFb";
//AA - where to go to get FB popup.
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => $perms,
'redirect_uri' => $redirectUrl,
'cancel_uri' => $cancelUrl
)
);
//AA- Defining that a powerUSER is someone who's logged in
if(isset($user)){
$_SESSION['loggedIn'] = $user;
}
?>
आपको वें पास करने की आवश्यकता है ई जेएस से PHP तक पहुंच टोकन (और PHP लाइब्रेरी में इसका उपयोग करें)। –