Facebook 如果我尝试发送好友请求,则在验证后会重复登录

Facebook 如果我尝试发送好友请求,则在验证后会重复登录,facebook,post,login,invite,Facebook,Post,Login,Invite,我正在尝试为我的应用程序建立一个“欢呼行动”。这是iPhone中的一款游戏,所以我想在用户墙上发布一条“欢迎信息”(我需要“公共流”许可),然后邀请他的朋友访问我的网页 这是我的问题。。我使用以下方法对用户进行身份验证: _url = "http://www.facebook.com/dialog/oauth/?client_id=" + app_id + "&redirect_uri=" + app_net_folder + auth_response_uri + "&stat

我正在尝试为我的应用程序建立一个“欢呼行动”。这是iPhone中的一款游戏,所以我想在用户墙上发布一条“欢迎信息”(我需要“公共流”许可),然后邀请他的朋友访问我的网页

这是我的问题。。我使用以下方法对用户进行身份验证:

_url = "http://www.facebook.com/dialog/oauth/?client_id=" + app_id + "&redirect_uri=" + app_net_folder + auth_response_uri + "&state=" + session_id; 
我在uri中得到响应,然后获得访问令牌、用户id等。 然后我用这种方式在他的墙上贴了一条信息:

_url = "https://www.facebook.com/dialog/apprequests?app_id=" + app_id;
_url += "&message=" + string_ToUrl(String_ToHTML(request_msg));
FB.init({appId  : app_id,   logging : false, frictionlessRequests: true, oauth : true});

FB.ui({method: 'apprequests', message: msg, title: title}, requestCallback);
现在我想邀请他的朋友(使用多朋友列表对话框)。为此,我只能使用JavaScript FB.ui。这样:

_url = "https://www.facebook.com/dialog/apprequests?app_id=" + app_id;
_url += "&message=" + string_ToUrl(String_ToHTML(request_msg));
FB.init({appId  : app_id,   logging : false, frictionlessRequests: true, oauth : true});

FB.ui({method: 'apprequests', message: msg, title: title}, requestCallback);
当我这样做时,会打开一个窗口,再次询问用户的登录信息。。但是我的用户已经被授权了。所以我不知道如何用JavaScript对FB说我的用户已经被授权了!(我甚至有access_令牌,但我不知道如何在JavaScript函数中使用它)

有人知道我做错了什么?或者如何执行这两个操作,只要求用户登录一次


谢谢

如果您已经登录,您可以使用下面的代码获取登录用户id

var userId = FB.Facebook.apiClient.get_session().uid;
if(userId > 0 || userId != '')
{
  alert('user is already log in');
}

希望对您有所帮助

谢谢。但这并不能避免Fb.ui再次要求我登录:(Fb.getLoginStatus返回该用户已登录,我得到了关于他的所有信息(用户id、访问令牌等)。但当我使用Fb.ui时(就在Fb.getLoginStatus返回“user is logged”之后),它总是要求我再次登录……尝试这种方式,如果需要,尝试在其他部分编写与Fb.ui相关的代码(userId>0 | | userId!=''){alert('用户已登录');}else{//FB.ui part}