如何将Parse Javascript API与Appcelerator集成,而不使用未记录的调用?

如何将Parse Javascript API与Appcelerator集成,而不使用未记录的调用?,javascript,titanium,appcelerator,parse-platform,Javascript,Titanium,Appcelerator,Parse Platform,我想从他/她的Facebook凭据创建一个用户,而不使用未记录的呼叫。基于当前的Parse Javascript库实现,我认为这是不可能的,原因有两个: 1。库的当前实现不支持Appcelerator HTTP客户端,因此它会立即失败。我通过扩展现有的Parse-Javascript库的ajax方法来利用Appcelerator-HTTP-client解决了这个问题 在我创建的幻灯片平台上有大约2K个视图,在博客帖子上也有差不多的视图,所以我很清楚人们都希望这样做 2.该库的当前实现假定您正在

我想从他/她的Facebook凭据创建一个用户,而不使用未记录的呼叫。基于当前的Parse Javascript库实现,我认为这是不可能的,原因有两个:

1。库的当前实现不支持Appcelerator HTTP客户端,因此它会立即失败。我通过扩展现有的Parse-Javascript库的ajax方法来利用
Appcelerator-HTTP-client
解决了这个问题

在我创建的幻灯片平台上有大约2K个视图,在博客帖子上也有差不多的视图,所以我很清楚人们都希望这样做

2.该库的当前实现假定您正在与Facebook Javascript库集成,并且该库也不能与Appcelerator一起使用。事实上,Appcelerator已经将Facebook直接集成到框架中,因此不需要javascript库。将用户帐户链接到Facebook所需的所有信息都可以通过Appcelerator开发人员已经熟悉的API调用轻松获得

原始问题已从解析支持论坛中删除,因此我正在从更广泛的社区中寻找解决方案

你好,亚伦

对于其他开发人员来说,推广使用未记录的 解析库中的API作为解决方法,因此我决定 取消它的列表。我知道这可能对你的特殊情况有帮助 钛合金,你很清楚使用私有 API,但其他用户可能会忽略该警告。我希望你 明白

Héctor Ramos解决方案架构师,Parse

这是一段非常危险的代码,无法在论坛上看到:

// 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));
});
//设置从Ti.Facebook登录检索的身份验证数据
authData={
“facebook”:{
“id”:Ti.Facebook.uid,
“访问令牌”:Ti.Facebook.accessToken,
“到期日”:expDate,/“格式:yyyy-MM-dd'T'HH:MM:ss.SSS'Z”
}
};
//无论哪种方式,我都解决了这个问题,在返回的用户对象上调用_handleSaveResult(true),
//我只是觉得这不应该像以前那么难
//尝试使用FB信息登录用户
var user=new Parse.user();
user.save({
“authData”:authData
}).then(函数(_用户){
//强制用户成为当前用户

_user._handleSaveResult(true);//也许这是新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) {}
   }
};
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.
我对您的原始代码进行了一些更新,以支持我将在Github上发布的最新SDK


非常感谢您带头这么做。您最初的帖子为我节省了几个小时。

您的问题是什么?似乎您已经回答或解决了所有问题。它受到支持,并且可以随时通过更新parse.js库通过电子邮件发送给他们的执行人员吗?似乎直到他们更改正式公开的API并给出建议为止要想让它起作用,你就得找个“答案”。他们声称一个多月前就在调查,但仍然阻止了我在他们论坛上的回复,我还没有得到正式的答复。我只是不使用解析,在他们表现出对Appcelerator的热爱之前不推荐解析。我已经放弃希望,鼓励人们使用Appcelerator云服务、stackmob或kinvey