Aar*_*ers 63 javascript titanium appcelerator parse-platform
我想从他/她的Facebook凭据创建一个用户,而不使用未记录的调用.基于两个已知原因,我认为基于Parse Javascript库的当前实现是不可能的:
1.库的当前实现不支持Appcelerator HTTP客户端,因此它立即失败.我通过扩展现有的Parse Javascript库的ajax方法来解决这个问题Appcelerator HTTP client
.
http://www.clearlyinnovative.com/blog/post/34758524107/parse-appcelerator-titanium-the-easy-way
在我创建的幻灯片上有大约2K的视图,在博客文章中大致相同,所以我很清楚人们希望这个工作.
2.库的当前实现假设您正在与Facebook Javascript库集成,并且该库也不能与Appcelerator一起使用.事实上,Appcelerator已将Facebook直接集成到框架中,因此不需要javascript库.使用Appcelerator开发人员熟悉的API调用可以轻松获得将用户帐户链接到Facebook所需的所有信息.
原始问题已从Parse支持论坛中删除,因此我正在寻找更广泛社区的解决方案.
嗨,亚伦,
对于其他开发人员来说,在Parse库中使用未记录的API作为解决方法是没有帮助的,因此我决定将其取消列表.我知道它可能对您使用Titanium的特定情况有所帮助,并且您很清楚使用私有API的含义,但其他用户可能会忽略该警告.我希望你明白.
HéctorRamosSolutions Architect,Parse https://parse.com/help
这是太危险的代码,无法在论坛上显示:
// 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));
});
Run Code Online (Sandbox Code Playgroud)
关于Appcelerator论坛的问题
关于解析论坛的问题
也许这是较新 SDK 的一部分,但你不能直接调用:
Parse.FacebookUtils.logIn({
"facebook": {
"id": "user's Facebook id number as a string",
"access_token": "an authorized Facebook access token for the user",
"expiration_date": "token expiration date of the format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
},
{
success : function(_user) {},
error : function(_user, error) {}
}
};
Run Code Online (Sandbox Code Playgroud)
它没有记录在 Javascript 指南中,但记录在代码 Visa vie 的未缩小版本中:
@param {String, Object} permissions The permissions required for Facebook
log in. This is a comma-separated string of permissions.
Alternatively, supply a Facebook authData object as described in our
REST API docs if you want to handle getting facebook auth tokens
yourself.
Run Code Online (Sandbox Code Playgroud)
我对您的原始代码进行了一些更新,以支持我将在 Github 上发布的最新 SDK。
非常感谢您带头开展这项工作。你原来的帖子节省了我几个小时。
归档时间: |
|
查看次数: |
3461 次 |
最近记录: |