钛-获取facebook用户名?
使用Tianium,登录facebook后,是否有人有一些简单的说明来获取用户的facebook名称?我还没有测试代码,但您可以尝试以下方法:钛-获取facebook用户名?,facebook,titanium,Facebook,Titanium,使用Tianium,登录facebook后,是否有人有一些简单的说明来获取用户的facebook名称?我还没有测试代码,但您可以尝试以下方法: var fbuid = Titanium.Facebook.uid; //this would be the logged user's facebook uid function fQuery() //this function exec the fql query { var myQuery = "SELECT name FROM user
var fbuid = Titanium.Facebook.uid; //this would be the logged user's facebook uid
function fQuery() //this function exec the fql query
{
var myQuery = "SELECT name FROM user WHERE uid = "+fbuid;
var data = [];
Titanium.Facebook.request('fql.query', {query: myQuery}, function(x)
{
var results = JSON.parse(x.result);
var username = results[0].name; //user's fb name
});
};
我尚未测试代码,但您可以尝试以下方法:
var fbuid = Titanium.Facebook.uid; //this would be the logged user's facebook uid
function fQuery() //this function exec the fql query
{
var myQuery = "SELECT name FROM user WHERE uid = "+fbuid;
var data = [];
Titanium.Facebook.request('fql.query', {query: myQuery}, function(x)
{
var results = JSON.parse(x.result);
var username = results[0].name; //user's fb name
});
};
啊,你是怎么做到的:
function getFacebookInfo(){
Titanium.Facebook.requestWithGraphPath('me', {}, 'GET', function(e){
if (e.success){
var jsonObject = JSON.parse(e.result);
//do something here with these values. They cannot be passed out of this
//function call... this is an asynchronous call
//that is, do this:
saveToDb(jsonObject.first_name);
} else {
//some sort of error message here i guess
}
});
};
最后,连同名称
和用户名
,查看facebook页面,了解您可以获得的其他变量-
最后:请注意,这是一个回调,Tianium实际上不会等待此调用完成。也就是说,任何声明用于保存requestWithGraphPAth之后返回的结果的变量都将立即返回,因此几乎总是空的
我想你可以做一个漂亮的循环。。。循环,直到某个变量设置为false。在回调函数中将变量设置为false。。。但这似乎是不可靠的
只要让你的电话回做其他一切,即保存到数据库等
如果您通过调用Ti.Facebook.authorize()登录用户,请记住定义
Ti.Facebook.addEventListener('login',function(e){
if (e.success){
...
...
} else if (e.error){ } else if (e.cancel) { }
}
在电话之前。然后,在成功位中,您可以使用GraphPath调用发出请求,以此类推。我只是将所有细节保存到数据库中,然后每次都检索它们,这对我来说很好 啊,下面是你的做法:
function getFacebookInfo(){
Titanium.Facebook.requestWithGraphPath('me', {}, 'GET', function(e){
if (e.success){
var jsonObject = JSON.parse(e.result);
//do something here with these values. They cannot be passed out of this
//function call... this is an asynchronous call
//that is, do this:
saveToDb(jsonObject.first_name);
} else {
//some sort of error message here i guess
}
});
};
最后,连同名称
和用户名
,查看facebook页面,了解您可以获得的其他变量-
最后:请注意,这是一个回调,Tianium实际上不会等待此调用完成。也就是说,任何声明用于保存requestWithGraphPAth之后返回的结果的变量都将立即返回,因此几乎总是空的
我想你可以做一个漂亮的循环。。。循环,直到某个变量设置为false。在回调函数中将变量设置为false。。。但这似乎是不可靠的
只要让你的电话回做其他一切,即保存到数据库等
如果您通过调用Ti.Facebook.authorize()登录用户,请记住定义
Ti.Facebook.addEventListener('login',function(e){
if (e.success){
...
...
} else if (e.error){ } else if (e.cancel) { }
}
在电话之前。然后,在成功位中,您可以使用GraphPath调用发出请求,以此类推。我只是将所有细节保存到数据库中,然后每次都检索它们,这对我来说很好 您无需执行任何操作,登录完成后,数据响应中将提供用户名
您无需执行任何操作,登录完成后,数据响应中将提供用户名
hm,不-这是在使用“请求”调用,我们被鼓励不要这样做。另外,请求是异步的。。。所以你的用户名不会得到结果。这个答案在每一个可能的层面上都是错误的。嗯,不-这是在使用“请求”调用,我们被鼓励不要这样做。所以,请求是异步的。。。所以你的用户名不会得到结果。这个答案在所有可能的层面上都是错误的。你是对的。。。但是我使用了authorize,所以我需要定义一个处理程序等来处理这个问题。尽管如此,+1为我指明了正确的方向。你是对的。。。但是我使用了authorize,所以我需要定义一个处理程序等来处理这个问题。尽管如此,+1为我指明了正确的方向。