Pour récupérer les informations de l'utilisateur lorsqu'il s'enregistre à votre site ou bien en appuyant sur un bouton "remplir automatiquement mon profile", il faut créer une fonction qui va faire ca pour nous.
J'ai mis cette fonction dans la classe sfFacebook, c'est pour moi le plus logique :
Enjoy !
J'ai mis cette fonction dans la classe sfFacebook, c'est pour moi le plus logique :
Ensuite il faut simplement appeler cette fonction, soit avec le déclencheur onlogin="" sur le bouton facebook connect, soit avec une fonction jquery :public static function updateSfGuardUserWithFacebookAccount($sfGuardUser) {$sfGuardUserProfile = $sfGuardUser->getProfile();$infos = sfFacebook::getFacebookApi()->users_getInfo($sfGuardUserProfile->getFacebookUid(), array("first_name", "last_name", "username", "birthday_date", "email_hashes", "proxied_email", "sex", "pic", "pic_small", "relationship_status", "current_location", "activities", "interests", "music", "tv", "movies", "books", "website"));$sfGuardUserProfile->setFirstName($infos[0]["first_name"]);$sfGuardUserProfile->setLastName($infos[0]["last_name"]);$sfGuardUserProfile->setEmailHash(serialize($infos[0]["email_hashes"]));$sfGuardUserProfile->setEmail($infos[0]["proxied_email"]);$sfGuardUserProfile->setBirthdayDate($infos[0]["birthday_date"]);$sfGuardUserProfile->setSex($infos[0]["sex"]);$sfGuardUserProfile->setPic($infos[0]["pic"]);$sfGuardUserProfile->setPicSmall($infos[0]["pic_small"]);$sfGuardUserProfile->setRelationshipStatus($infos[0]["relationship_status"]);$sfGuardUserProfile->setActivities($infos[0]["activities"]);$sfGuardUserProfile->setInterests($infos[0]["interests"]);$sfGuardUserProfile->setMusic($infos[0]["music"]);$sfGuardUserProfile->setTv($infos[0]["tv"]);$sfGuardUserProfile->setMovies($infos[0]["movies"]);$sfGuardUserProfile->setBooks($infos[0]["books"]);$sfGuardUserProfile->setWebsite($infos[0]["website"]);$sfGuardUserProfile->save();return true;}
function updateProfileWithFacebook() {
$.ajax({
url: '/sfFacebookConnectAuth/UpdateGuardWithFBProfile',
success: function(profile) { $(".profile").html(profile);
makeEditableField();},
error: function(e) { alert("Une erreur est survenue. Nous n'arrivons pas à contacter les serveurs de Facebook. Merci de bien vouloir nous excuser pour ce désagrément et réessayer plus tard." e); }
});
}Vous pouvez trouver la liste des informations récuperables ici
Enjoy !
Aucun commentaire:
Enregistrer un commentaire
Bonjour,