2011-02-13 13 views

risposta

1

Sì, è necessario utilizzare la chiamata api, poiché non è codificata nel token di accesso o in qualsiasi altra informazione passata a un'applicazione.

Se la preoccupazione è la prestazione, è possibile naturalmente memorizzare nella cache il risultato.

+0

Dove lo inserirò nella cache? Memoria locale? – ma11hew28

+0

'' 'window.localStorage.setItem ('facebook', JSON.stringify (response));' '' – Alastair

0

È buono chiamare call api graph per ottenere il nome User. È anche possibile interrogare la tabella User per ottenere il nome utente. Dipende da te cosa ti piace?

1

È possibile utilizzare il FB.api come segue

function fqlQuery(){ 
     FB.api('/me', function(response) { 
       var query = FB.Data.query('select name,email,hometown_location, sex, pic_square from user where uid={0}', response.id); 
       query.wait(function(rows) { 
       uid = rows[0].uid; 
       document.getElementById('name').innerHTML = 
        'Your name: ' + rows[0].name + "<br />" + 
        'Your email: ' + rows[0].email + "<br />" + 
        'Your hometown_location: ' + rows[0].hometown_location + "<br />" + 
        'Your sex: ' + rows[0].sex + "<br />" + 
        'Your uid: ' + rows[0].uid + "<br />" + 
        '<img src="' + rows[0].pic_square + '" alt="" />' + "<br />"; 
       }); 
     }); 
    } 
11
FB.api('/me', function(response) { 
    $('#name').html("Welcome " + response.name); 
}); 

Questo è tutto ciò che serve.

+6

Se si desidera il nome, dovrebbe essere 'response.first_name', non' response.name' –

+3

@ Super Chafouin ringraziamenti ma response.first_name non è definito. –

0

L'SDK javascript che Facebook consente di ottenere il nome, il cognome (che non richiede un permesso speciale), la cronologia scolastica e molto altro che un profilo utente di Facebook ha. Ma per ottenere informazioni "sensibili" l'utente deve approvare la tua app (se non lo ha già fatto) e quindi approvare le informazioni "sensibili" come la cronologia educativa. La pagina http://www.virtualsecrets.com/facebook-user-data-on-webpage-form.html mostra l'intero processo di lavoro con l'SDK javascript e alcune informazioni su come configurare le app con pagine web.

2

Gli attributi firstname e lastname non vengono più restituiti dalla richiesta di login dell'API FB JS SDK. Questo è cambiato a volte tra ver. 2.2 (06/2014) e 2.5 (01/2015).

La ragione è, che la richiesta di accesso restituisce solo attributi a disposizione del pubblico, che è fbid e nome. Nome e cognome non sono attributi accessibili pubblicamente e richiedono autorizzazioni concesse da un utente. See here.

usiamo una "supposizione soluzione" - se l'attributo nome ha più di 1 parola, li abbiamo divisi in cognome e cognome attributi, o compilare firstname dal nome. È meglio/più facile in alcune situazioni che infastidire gli utenti con permessi, controlli di risposta, callback, ecc.

Problemi correlati