Ci occupiamo adesso di un problema abbastanza ricorrente che ci hanno segnalato molti sviluppatori di applicazioni facebook che ottengono valore 0 quando effettuano il login con PHP SDK in particolare il codice incriminato , che riprendiamo direttamente dal sito di facebook.com
<?php // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/
require_once('php-sdk/facebook.php');
$config = array(
'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', );
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
?>
<html>
<head>
</head>
<body>
<?php
if($user_id)
{ // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $user_profile = $facebook->api('/me','GET'); echo "Name: " . $user_profile['name']; }
catch(FacebookApiException $e)
{ // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here.
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
error_log($e->getType()); error_log($e->getMessage());
} }
else
{ // No user, print a link for the user to login
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
} ?>
</body>
</html>
Come risolvere il problema del login dell’applicazione Facebook
Eseguendo questo codice spesso accade , lo abbiamo testato anche noi che che otteniamo un valore di $user_id = 0 in questa maniera il ciclo if non viene eseguito e quindi l’applicazione non funziona in quanto non restituisce i valori nome e altro. Oggettivamente pare che il problema sia dovuto al fatto che alcune versioni di PHP SDK potrebbero essere incompatibili con quelle che usate nel vostro sito, oppure difendere da alcuni settaggi che impediscono il giusto funzionamento. Se vi trovate in questa situazione ovviamente facebook vi mette a disposizione una soluzione che è la seguente. Ossia per l’autenticazione della vostra applicazione facebook utilizzate questa applicazione
<?php
require 'server/fb-php-sdk/facebook.php';
$app_id = 'APP_ID';
$app_secret = 'APP_SECRET';
$app_namespace = 'APP_NAMESPACE';
$app_url = 'https://apps.facebook.com/' . $app_namespace . '/';
$scope = 'email,publish_actions';
// Init the Facebook SDK
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
// Get the current user
$user = $facebook->getUser();
// If the user has not installed the app, redirect them to the Login Dialog
if (!$user) {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => $scope,
'redirect_uri' => $app_url,
));
print('<script> top.location.href=\'' . $loginUrl . '\'</script>');
}
?>
I due codici sono molto simili se non il fatto che l’applicazione questa volta richiede subito i permessi la prima volta e quindi non necessita di un secondo controllo , lo abbiamo testato e questo funziona. Per delucidazione contattateci pure sotto.
Mi piace:
Mi piace Caricamento...
Correlati
Fabrizio S.
Share post:
<?php // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/require_once('php-sdk/facebook.php');$config = array('appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', );$facebook = new Facebook($config);$user_id = $facebook->getUser();?><html><head></head><body><?phpif($user_id){ // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $user_profile = $facebook->api('/me','GET'); echo "Name: " . $user_profile['name']; }catch(FacebookApiException $e){ // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here.$login_url = $facebook->getLoginUrl();echo 'Please <a href="' . $login_url . '">login.</a>';error_log($e->getType()); error_log($e->getMessage());} }else{ // No user, print a link for the user to login$login_url = $facebook->getLoginUrl();echo 'Please <a href="' . $login_url . '">login.</a>';} ?></body></html>Come risolvere il problema del login dell’applicazione Facebook
Eseguendo questo codice spesso accade , lo abbiamo testato anche noi che che otteniamo un valore di $user_id = 0 in questa maniera il ciclo if non viene eseguito e quindi l’applicazione non funziona in quanto non restituisce i valori nome e altro. Oggettivamente pare che il problema sia dovuto al fatto che alcune versioni di PHP SDK potrebbero essere incompatibili con quelle che usate nel vostro sito, oppure difendere da alcuni settaggi che impediscono il giusto funzionamento. Se vi trovate in questa situazione ovviamente facebook vi mette a disposizione una soluzione che è la seguente. Ossia per l’autenticazione della vostra applicazione facebook utilizzate questa applicazione
// If the user has not installed the app, redirect them to the Login Dialog if (!$user) { $loginUrl = $facebook->getLoginUrl(array( 'scope' => $scope, 'redirect_uri' => $app_url, ));print('<script> top.location.href=\'' . $loginUrl . '\'</script>'); } ?>I due codici sono molto simili se non il fatto che l’applicazione questa volta richiede subito i permessi la prima volta e quindi non necessita di un secondo controllo , lo abbiamo testato e questo funziona. Per delucidazione contattateci pure sotto.
Condividi:
Mi piace:
Correlati
Plugins per WordPress per widget Youtube con le Api Key
Vediamo adesso come creare una playlist di Youtube da potere immettere nel vostro blog WordPress. Sia come widget sia che in un articolo o pagina. Prima di tutto quindi. Leggi ancora…
Condividi:
Mi piace:
Continue Reading
Come Geo Localizzare un indirizzo ip con MaxMind . Esempi.
Vediamo adesso come rintracciare un sito web o un indirizzo IP con le API GeoLite Legacy di MaxMind. Innanzitutto che cosa è MaxMind. Si tratta di una compagnia specializzata in. Leggi ancora…
Condividi:
Mi piace:
Continue Reading
Script PHP per Api Key per Safebrowsing per Google Malware in Blacklist
E in questo articolo vi spiegheremo come utilizzare le Google Api del Safe Browsing per controllare se il vostro articolo è nella blacklist di google. Ma cosa significa che il. Leggi ancora…
Condividi:
Mi piace:
Continue Reading
Interazione e passaggio di parametri fra JSDK e PHP SDK nelle applicazioni facebook
E ora vi parliamo un po’ delle applicazioni facebook usando la JSDK dove il J sta per Javascript e PHP SDK ossia le reference di Javascriprit e php. Purtroppo come. Leggi ancora…
Condividi:
Mi piace:
Continue Reading