Ho letto il documento, sia su github e Facebook developers docs.
C'è solo il campione, niente di più. Nessun documento API.
Come utilizzare l'API grafico con react-native-fbsdk?
Il codice per effettuare una richiesta di Graph API è
const infoRequest = new GraphRequest(
'/me',
null,
this._responseInfoCallback,
);
E la richiamata
_responseInfoCallback(error: ?Object, result: ?Object) {
if (error) {
alert('Error fetching data: ' + error.toString());
} else {
alert('Success fetching data: ' + result.toString());
}
}
e qui è la possibilità di eseguire una richiesta Graph API
testRequestGraphAPI(){
const infoRequest = new GraphRequest(
'/me',
null,
this._responseInfoCallback,
);
new GraphRequestManager().addRequest(infoRequest).start();
}
Tuttavia, Non riesco a trovare alcun altro documento. Non ho idea di cosa fanno tutti i parametri.
Il risultato per questi codici sopra è questo.
Inoltre, non so come ottenere il risultato.
Tuttavia, quando provo a modificare '\ me' in 'me? Fields = id, name', non è riuscito. Anche se ho chiesto il permesso
<LoginButton
publishPermissions={["publish_actions,user_birthday, user_religion_politics, user_relationships, user_relationship_details, user_hometown, user_location, user_likes, user_education_history, user_work_history, user_website, user_managed_groups, user_events, user_photos, user_videos, user_friends, user_about_me, user_status, user_games_activity, user_tagged_places, user_posts, user_actions.video, user_actions.news, user_actions.books, user_actions.music, user_actions.fitness, public_profile, basic_info"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
meow_accesstoken = data.accessToken
alert(meow_accesstoken.toString())
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
Ma non stampare quale errore, proprio oggetto oggetto.
Quindi, il problema è che non capisco il codice di esempio fornito da Facebook senza alcuna spiegazione.
Qui è la mia domanda che ho davvero bisogno mi aiuti:
primo luogo a tutti, si prega di controllare il javascript code che ho attualmente guardando?
Come utilizzare grafico API in reagire-native-fbsdk per recuperare alcune utente informazioni (esempio: nome completo) e con successo visualizzazione esso (avviso uso)?
Che cosa fanno ciascun parametro in GraphRequest()?
Qual è la struttura di errore oggetto e risultato oggetto in _responseInfoCallback?
SOLUZIONE
Grazie a @Samuel risposta, ho aggiornato il mio codice
testRequestGraphAPI: function(){
const infoRequest = new GraphRequest(
'/me',
{
parameters: {
fields: {
string: 'email,name,first_name,middle_name,last_name' // what you want to get
},
access_token: {
string: meow_accesstoken.toString() // put your accessToken here
}
}
},
this._responseInfoCallback // make sure you define _responseInfoCallback in same class
);
new GraphRequestManager().addRequest(infoRequest).start();
}
E la richiamata
_responseInfoCallback: function(error: ?Object, result: ?Object) {
alert("meow response");
if (error) {
alert('Error fetching data: ' + error.toString());
console.log(Object.keys(error));// print all enumerable
console.log(error.errorMessage); // print error message
// error.toString() will not work correctly in this case
// so let use JSON.stringify()
meow_json = JSON.stringify(error); // error object => json
console.log(meow_json); // print JSON
} else {
alert('Success fetching data: ' + result.toString());
console.log(Object.keys(result));
meow_json = JSON.stringify(result); // result => JSON
console.log(meow_json); // print JSON
}
}
* Nota: per console.log(), è necessario utilizzare "Debug JS in remoto", quindi aprire gli strumenti di sviluppo di Chrome per visualizzare il registro.
Caro @ Samuel, grazie per la risposta. Mi chiedo dove dovrei usare il meow_accesstoken. Come so, queste richieste dell'API del grafico richiedono il token di accesso ma non l'ho visto nel codice. –
Siamo spiacenti, il mio codice ha alcuni bug, l'ho aggiornato e testato e ora funziona correttamente. Ho spostato i blocchi Graph all'interno della promessa di AccessToken e aggiunto il parametro accessToken su GraphRequest. Dai un'occhiata alla cronologia delle modifiche per capire meglio cosa ho fatto :) –
Grazie per aver postato. Non so perché i parametri oggetto non è documentato su Facebook. Non ho trovato che ho bisogno di AccessToken sul mio GraphRequest usando v0.3.0. – AndrewHenderson