2014-11-20 5 views
0

Я использую логин с утилитой facebook для синтаксического анализа в приложении для Android. Вход с утилитой facebook работает нормально. он вставляет только столбец «имя_пользователя» и «authData» таблицы «Пользователь».Как мы можем хранить данные пользователя facebook в синтаксическом анализе?

Я получаю имя и адрес электронной почты пользователя facebook, используя графический API для facebook.

Вопрос -

Как мы храним "FULLNAME" и "электронная почта" от пользователя facebook в разборе?

Заранее благодарен!

ответ

0

Я был в состоянии написать пользовательские детали Facebook в CloudCode, выполнив следующие действия:

Parse.Cloud.beforeSave(Parse.User, function (request, response) { 

// Use Master Key 
Parse.Cloud.useMasterKey(); 

// Pull User Object 
var User = request.object; 

// User Check 
if (!User) { 
    // Not allowed 
    response.error(); 
    return; 
} 

// For some reason, pulling authData fails. A try catch helps the TypeError that may happen 
try { 
    var authData = User.get('authData'); 
    var access_token = authData.facebook.access_token; 
} catch(e) { 
    var access_token = null; 
} 

Parse.Cloud.httpRequest({ 
    url:'https://graph.facebook.com/v2.1/me?fields=picture.height(50).width(50),email,first_name,last_name,friends.limit(5000),name,gender&access_token='+access_token, 

    success:function (httpResponse) { 
     // Success 

     var facebookIds = []; 

     try { 
      var facebookFriends = httpResponse.data.friends.data; 
     } catch (e) { 
      var facebookFriends = []; 
     } 

     var promise = _.each(facebookFriends, function(facebookFriend) { 
      facebookIds.push(facebookFriend.id); 
     }); 

     Parse.Promise.when([promise]).then(function() { 

      if (request.object.existed() == false) { 
       User.set("displayName", httpResponse.data.name); 
      } 

      // Updating user object 
      User.set("facebookFriends", facebookIds); 
      User.set("fbEmail", httpResponse.data.email); 
      User.set("profileThumb", httpResponse.data.picture.data.url); 
      User.set("facebookId", httpResponse.data.id); 
      User.set("gender", httpResponse.data.gender); 

      response.success(); 

     }); 

    }, 
    error:function (error){ 
     // Error 
     response.error('Server error.') 
    } 
}); 

}); 
+0

как передать параметры этой функции выше от андроида. Пожалуйста помоги. – virendrao

+0

Его крюк beforeSave, его нельзя назвать исключительно. Вышеуказанный крючок предназначен для класса User. Поэтому каждый раз перед тем, как вы сохраните что-то/обновите на User cla, это будет запущено –