-1

我试图为我的应用程序构建一个“欢呼动作”。这是iPhone中的游戏,所以我想在用户墙中发布“欢迎信息”(我需要“public_stream”权限),然后邀请他的朋友访问我的网页。

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

_url = "http://www.facebook.com/dialog/oauth/?client_id=" + app_id + "&redirect_uri=" + app_net_folder + auth_response_uri + "&state=" + session_id; 

我在我的 uri 中得到响应,然后我得到 access_token、user_id 等。然后我以这种方式在他的墙上发布一条消息:

_url = "https://www.facebook.com/dialog/apprequests?app_id=" + app_id;
_url += "&message=" + string_ToUrl(String_ToHTML(request_msg));

现在我想邀请他的朋友(使用多朋友列表对话框)。为此,我只能使用 JavaScript FB.ui。这样:

FB.init({appId  : app_id,   logging : false, frictionlessRequests: true, oauth : true});

FB.ui({method: 'apprequests', message: msg, title: title}, requestCallback);

当我这样做时,会打开一个窗口,再次询问我用户的登录信息。但我的用户已经通过身份验证。所以我不知道如何用 JavaScript 对 FB 说我的用户已经通过身份验证了!(我什至有 access_token,但我不知道如何在 JavaScript 函数中使用它)。

有人知道我在做什么错吗?或者如何做这两个动作只要求用户登录一次?

谢谢!!

4

1 回答 1

0

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

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

希望对你有帮助

于 2012-06-05T12:14:05.210 回答