आपको यह निर्धारित करने के लिए ग्राफ़ एपीआई में अनुमति कनेक्शन का उपयोग करना चाहिए कि क्या उपयोगकर्ता ने कुछ परमिट आवश्यक हैं या नहीं। यदि वे नहीं हैं तो आप लॉगिन बटन को प्रस्तुत करने या दायरे के साथ प्रवाह के लिए एक शर्त के रूप में उपयोग कर सकते हैं।
उदाहरण आ रहा है: वर्तमान PHP एसडीके, और वर्तमान जेएस एसडीके लॉगिन बटन html5 के साथ शामिल है।
* उदाहरण में मैं अनुमति अनिवार्य रूप manage_pages उपयोग कर रहा हूँ। *
पीएचपी एसडीके 3.2.2 init।
require '../../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '1111111111111111',
'secret' => 'xxxxxxxxxxxxxxxx',
'cookie' => true, // enable optional cookie support
));
try { $user = $facebook->getUser(); } catch (FacebookApiException $e) { };
PHP कोड:
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_accounts = $facebook->api('/me/?fields=permissions');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
पीएचपी की स्थिति और एचटीएमएल 5 प्रवेश बटन
<div id="fb-root"></div>
<script>// current js sdk</script>
<?php if($user && !$user_accounts[permissions][data][0][manage_pages]): ?>
// we know we have a user but no perms so lets render button with out scope.
<div class="fb-login-button" data-autologoutlink="true" data-show-faces="false" data-width="200" data-max-rows="1" data-size="large"></div>
<?php elseif($user && $user_accounts[permissions][data][0][manage_pages]): ?>
// we know we have a user and they have given perms so render button with scope.
<div class="fb-login-button" data-autologoutlink="true" data-show-faces="false" data-width="200" data-max-rows="1" data-size="large" data-scope="manage_pages"></div>
<?php elseif(!$user): ?>
// we have no user, flow as new user... or provide 2 buttons lol.
<div class="fb-login-button" data-autologoutlink="true" data-show-faces="false" data-width="200" data-max-rows="1" data-size="large" data-scope="manage_pages"></div>
<?php endif; ?>
स्रोत
2013-02-11 02:23:26
मैं अगर मैं पूरी तरह से समझते है कि तुम क्या बात कर रहे हैं यकीन नहीं है के बारे में ... क्या आपका मतलब है कि उपयोगकर्ता आपके आवेदन को अधिकृत करने या विस्तारित अनुमति संवाद पर संकेत मिलने पर दबाया गया दबाया गया? – Lix
प्राधिकृत करने के लिए संकेत दिए जाने पर उन्होंने रद्द कर दिया। – jeremiah
मुझे आपके साथ एक ही समस्या है। क्या आपको कोई समाधान मिला है? – Jako