Je voudrais créer un utilisateur à partir de ses informations d'identification Facebook sans utiliser d'appels non documentés. Je ne pense pas que cela soit possible sur la base de l'implémentation actuelle de la bibliothèque Javascript Parse pour deux raisons connues :
1. L'implémentation actuelle de la bibliothèque ne prend pas en charge le client HTTP Appcelerator et échoue donc immédiatement. J'ai résolu ce problème en étendant la méthode ajax de la bibliothèque Parse Javascript existante pour utiliser le client HTTP Appcelerator. Appcelerator HTTP client
.
http://www.clearlyinnovative.com/blog/post/34758524107/parse-appcelerator-titanium-the-easy-way
Le diaporama que j'ai créé a été consulté à environ 2 000 reprises et l'article de blog à peu près autant, il est donc clair pour moi que les gens veulent que cela fonctionne.
2. La mise en œuvre actuelle de la bibliothèque suppose que vous intégrez la bibliothèque Javascript de Facebook et cette bibliothèque ne fonctionne pas non plus avec Appcelerator. En fait, Appcelerator a intégré Facebook directement dans le cadre de travail, de sorte qu'il n'y a pas besoin de la bibliothèque javascript. Toutes les informations requises pour lier un compte utilisateur à Facebook peuvent être facilement obtenues en utilisant les appels API que les développeurs d'Appcelerator connaissent déjà.
La question originale a été supprimée du forum d'assistance Parse. Je cherche donc une solution auprès d'une communauté plus large.
Salut Aaron,
Il n'est pas utile pour les autres développeurs de promouvoir l'utilisation d'API non documentées dans la bibliothèque Parse comme solution de rechange. non documentées de la bibliothèque Parse comme solution de contournement, je prends donc la décision de de le retirer de la liste. Je comprends que cela puisse être utile dans votre cas particulier avec Titanium, et vous êtes bien conscient des implications de l'utilisation des mais d'autres utilisateurs pourraient négliger cet avertissement. J'espère que vous comprendre.
Héctor Ramos Architecte de solutions, Parse https://parse.com/help
C'est le code qui était trop dangereux pour être laissé visible sur le forum :
// setting auth data retrieved from Ti.Facebook login
authData = {
"facebook" : {
"id" : Ti.Facebook.uid,
"access_token" : Ti.Facebook.accessToken,
"expiration_date" : expDate, // "format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
}
};
// Either way I resolved the problem, calling _handleSaveResult(true) on the returned user object,
// I just dont think it should have been as difficult as it was
// attempt to log the user in using the FB information
var user = new Parse.User();
user.save({
"authData" : authData
}).then(function(_user) {
// force the user to become current
_user._handleSaveResult(true); //<-- this is the evil method I called
if (!_user.existed()) {
// add additional user information
var userInfo = {
"acct_email" : "bryce@xxxxxx.com",
"acct_fname" : "Bryce",
"acct_lname" : "Saunders"
};
return _user.save(userInfo);
}
}).then(function(_user) {
alert('Hooray! Let them use the app now.');
}, function(error) {
alert(' ERROR: ' + JSON.stringify(error, null, 2));
});
Question sur le Forum Appcelerator
Question sur le forum Parse