Tôi muốn tạo người dùng từ thông tin đăng nhập Facebook của họ mà không cần sử dụng các cuộc gọi không có giấy tờ. Tôi không tin rằng nó có thể dựa trên việc thực hiện hiện tại của Thư viện Javascript Parse vì hai lý do đã biết:Làm thế nào để bạn tích hợp API Javascript Parse với Appcelerator và không sử dụng các cuộc gọi không có giấy tờ?
1. Việc triển khai thư viện hiện tại không hỗ trợ ứng dụng khách HTTP của Appcelerator. Tôi đã giải quyết vấn đề này bằng cách mở rộng phương thức ajax của thư viện Javascript Parse hiện có để sử dụng Appcelerator HTTP client
.
http://www.clearlyinnovative.com/blog/post/34758524107/parse-appcelerator-titanium-the-easy-way
Hiện đã có khoảng 2K quan điểm trên boong tàu trượt Tôi tạo ra và về trên cùng một bài viết trên blog, vì vậy nó là khá rõ ràng với tôi người muốn điều này để làm việc.
2. Việc triển khai thư viện hiện tại giả định bạn đang tích hợp với thư viện Javascript của Facebook và thư viện đó không hoạt động với Appcelerator. Trong thực tế Appcelerator đã tích hợp Facebook trực tiếp vào khung làm việc nên không cần thư viện javascript. Tất cả thông tin cần thiết để liên kết tài khoản người dùng với Facebook có thể dễ dàng nhận được bằng cách sử dụng các cuộc gọi API mà các nhà phát triển Appcelerator đã quen thuộc.
Câu hỏi ban đầu đã bị xóa khỏi diễn đàn Hỗ trợ Parse vì vậy tôi đang tìm kiếm giải pháp từ một cộng đồng rộng lớn hơn.
Hi Aaron,
Đó không phải là hữu ích cho các nhà phát triển khác để thúc đẩy sử dụng không có giấy tờ API trong thư viện Parse như một cách giải quyết, vì vậy tôi đưa ra quyết định ngừng công bố nó. Tôi hiểu điều đó có thể hữu ích trong trường hợp cụ thể của bạn với Titan và bạn biết rõ về các tác động của việc sử dụng các API riêng tư, nhưng những người dùng khác có thể bỏ qua cảnh báo đó. Tôi hy vọng bạn hiểu.
Héctor Ramos Giải pháp kiến trúc sư, Phân tích https://parse.com/help
Đây là mã đó là quá nguy hiểm để bị bỏ lại có thể nhìn thấy trên diễn đàn:
// 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" : "[email protected]",
"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));
});
Câu hỏi trên Appcelerator Forum
Câu hỏi về diễn đàn phân tích
Sự cố của bạn là gì? Có vẻ như bạn đã trả lời hoặc làm việc xung quanh tất cả các vấn đề. –
nó được hỗ trợ và có thể thay đổi bất kỳ lúc nào với bản cập nhật cho thư viện parse.js –
Gửi email cho nhân viên điều hành của họ chưa? Nó có vẻ như cho đến khi họ thay đổi các API được chính thức tiếp xúc và cung cấp một cách để điều này để làm việc, bạn đang bị mắc kẹt mà không có một "câu trả lời". –