È necessario utilizzare la connessione delle autorizzazioni nel grafico api per determinare se l'utente ha fornito determinati importi necessari. in caso contrario, è possibile utilizzare la stessa condizione per eseguire il rendering di un pulsante di accesso o il flusso senza l'ambito aggiunto.
esempio in arrivo: include, corrente php sdk e corrente js sdk con pulsante di accesso html5.
* nell'esempio sto usando manage_pages come il permesso necessario. *
PHP SDK 3.2.2 init. Codice
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;
}
}
condizioni PHP e il pulsante di login 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; ?>
fonte
2013-02-11 02:23:26
non sono sicuro se capisco perfettamente che cosa si sta parlando riguardo ... Vuoi dire che l'utente premuto annulla quando viene richiesto di autorizzare l'applicazione o in una finestra di dialogo di autorizzazione estesa? – Lix
Hanno premuto Annulla quando richiesto per autorizzare. – jeremiah
Sto avendo lo stesso problema con te. Hai trovato qualche soluzione? – Jako