我希望将facebook帐户视为我的移动钛应用程序的身份验证。 我正在使用此代码 facebook登录
Ti.Facebook=Titanium.Facebook = require('facebook');
Ti.Facebook.appid = FACEBOOK_APP_ID;
Ti.Facebook.permissions = ['publish_stream']; // Permissions your app needs
Ti.Facebook.forceDialogAuth = true;
var btnLogin = Titanium.UI.createButton({
title: 'Hello',
top: 10,
width: 100,
height: 50
});
win.add(btnLogin);
btnLogin.addEventListener('click',function(e)
{
Ti.Facebook.addEventListener('login', function(e) {
if (e.success) {
alert('Logged In');
} else if (e.error) {
alert(e.error);
} else if (e.cancelled) {
alert("Canceled");
}
});
Ti.Facebook.authorize();
});
和FB注销
var btnLogout = Titanium.UI.createButton({
title: 'Hello',
top: 10,
width: 100,
height: 50
});
win2.add(btnLogout);
btnLogout.addEventListener('click',function(e)
{
Ti.Facebook.addEventListener('logout', function(e) {
alert('Logged out');
});
Ti.Facebook.logout();
});
但这是一个对话框,输入电子邮件和密码。某些应用程序使用Facebook帐户作为他们的sigup并且不打开该对话并直接登录。 我找到了另一种资源 https://gist.github.com/damienb/855583 但我不知道如何使用它。请指导我实施此操作的人员。 感谢。
答案 0 :(得分:3)
Titanium.Facebook现已弃用。 http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.Facebook
使用Modules.Facebook。 http://docs.appcelerator.com/titanium/3.0/#!/api/Modules.Facebook
doc中给出的示例示例是 -
var fb = require('facebook');
fb.appid = FACEBOOK_APP_ID;
fb.permissions = ['publish_stream']; // Permissions your app needs
fb.forceDialogAuth = true;
fb.addEventListener('login', function(e) {
if (e.success) {
alert('Logged In');
} else if (e.error) {
alert(e.error);
} else if (e.cancelled) {
alert("Canceled");
}
});
fb.authorize();
在您的代码中,添加facebook login&注销侦听器超出按钮的单击侦听器(btnLogin和btnLogout)。因为每次单击按钮时都会多次添加事件监听器。
如果您希望SSO属性起作用。
组
fb.forceDialogAuth = false;
如果安装了正式的Facebook应用程序,它将在不打开对话框的情况下验证,如果设备没有Facebook应用程序,它将打开safari并在用户未登录时询问电子邮件/密码。