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

How do you integrate the Parse Javascript API with Appcelerator and not use undocumented calls?

本文关键字:记录 调用 集成 Parse Javascript API Appcelerator      更新时间:2023-09-26

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

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库。将用户帐户链接到Facebook所需的所有信息都可以通过Appcelerator开发者已经熟悉的API调用轻松获得。

原来的问题是从解析支持论坛中删除的,所以我正在寻找一个更广泛的社区的解决方案。

嗨亚伦,

对于其他开发人员来说,推广使用无文档是没有帮助的解析库中的api作为解决方案,所以我决定unlist它。我知道这可能对你的特殊情况有帮助钛,您很清楚使用private的含义api,但其他用户可能会忽略该警告。我希望你理解。

hm - ctor Ramos Solutions 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));
});

appaccelerator论坛提问

http://developer.appcelerator.com/question/152146/facebook-appcelerator-and-parse-integration-need-help

解析论坛提问 https://parse.com/questions/how-do-you-integrate-the-parse-javascript-api-with-appcelerator-and-not-use-undocumented-calls

也许这是一个较新的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。

非常感谢你的带头努力。