您應該使用圖api中的權限連接來確定用戶是否已經提供了所需的某些燙髮。如果他們沒有,你可以使用相同的條件來呈現一個登錄按鈕或流量超出範圍添加。
示例來臨:包括當前php sdk和當前帶登錄按鈕html5的js sdk。
*在本例中,我使用manage_pages需要的權限。*
PHP SDK 3.2.2初始化。
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;
}
}
PHP條件和HTML5登錄按鈕
<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; ?>
我不知道如果我完全明白你在說什麼關於...你的意思是那個用戶當系統提示授權您的應用程序或擴展權限對話框時,按下取消按鈕? – Lix
他們在提示授權時按下取消按鈕。 – jeremiah
我和你有同樣的問題。你有沒有找到解決方案? – Jako