3

我正在将 Facebook SDK 3.1 集成到我的 iOS 5 应用程序中。Facebook登录后,我必须像这样查询才能获取用户信息

NSString *query = @"SELECT uid, name, pic_big,username FROM user where uid = me()";

NSDictionary *queryParam =
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil];

[FBRequestConnection startWithGraphPath:@"/fql"
                             parameters:queryParam
                             HTTPMethod:@"GET"
                      completionHandler:^(FBRequestConnection *connection,
                                          id result,
                                          NSError *error) { ....

现在这种方法有两个问题:

1- 用户刚刚等待通过 Facebook 对自己进行身份验证,现在他必须再次等待从网络获取他的基本个人资料信息。

-Q- 如何通过 Facebook 登录网络调用获取此信息?

-2- 当用户从登录屏幕重新打开应用程序时,如果 FBSession 仍然打开并且有效的 Facebok 将重新验证该用户,但我仍然需要
从网络获取他的基本个人资料信息......

-Q- 如何在我的应用中缓存用户的基本资料信息?FBSession 对象中是否有可以缓存用户信息的 id?

提前致谢。摩恩。

4

1 回答 1

0

1- 用户刚刚等待通过 Facebook 对自己进行身份验证,现在他必须再次等待从网络获取他的基本个人资料信息。

-Q- 如何通过 Facebook 登录网络调用获取此信息?

如果使用得当,最初的等待时间应该最短。您不能将 API 调用“附加”到登录请求。Facebook 曾经有一个 preload_fql 工具,但不再支持。

-2- 当用户从登录屏幕重新打开应用程序时,如果 FBSession 仍然打开并且有效的 Facebok 将重新验证该用户,但我仍然需要从网络获取他的基本个人资料信息......

-Q- 如何在我的应用中缓存用户的基本资料信息?FBSession 对象中是否有任何 id 可以缓存用户信息?

这是您的应用程序设计的问题。我的建议是创建一个 NSMutableDictionary 作为类属性,然后调用它cached_user_data或其他东西。在那里保存用户数据。

于 2012-12-09T18:45:15.303 回答