2011-03-08 106 views
3

我使用Facebook的iOS SDK在我的应用程序的应用和我有两个类似的问题:Facebook的iOS版SDK:登录Facebook的,而不总是要求权限

  1. 有没有办法知道是否目前没有用户登录?
  2. 我现在使用的是在成功登录时存储访问令牌和过期日期,并在应用程序启动时加载它们。我的问题是:如果会话无效,我是否可以让用户选择登录而不需要每次询问权限?因为现在,每当我想登录时,我都会收到我已经授予我应用程序权限的消息。而我只想在没有这部分的情况下登录。

任何想法?

回答

1
  1. graph.facebook.com/me的调用只有在您有有效的认证令牌时才会返回结果。没有访问令牌,您也未登录。
  2. 请求offline_access权限或只是不使用新的登录机制,而是使用登录对话框。该对话框将弹出您的应用程序,只需要询问一次特权。

我目前在iPhone上,所以不能提供代码,但已经在SDK中寻找FBDialog方法。

+0

谢谢!只有一个问题,我接受你的答案之前: 如果我只使用旧的登录对话框,我仍然可以从我的应用程序进行API调用? 是否有任何独立的方式,我需要用来授权我的应用程序? – 2011-03-10 22:59:42

+0

使用对话框登录没有任何问题,除了没有使用Facebook本身的“单点登录”功能。只要你有一个有效的访问令牌,所有的API请求的工作都是一样的。 – 2011-03-11 19:10:16