14

我的应用程序应该使用 facebook 实现登录,但我注意到每次我想登录 facebook 时都告诉我你已经授权了这个应用程序,如果我已经授权了这个应用程序,facebook 应该自动返回而不按我看到的 okey 按钮在其他应用程序中?

见附图 在此处输入图像描述

4

7 回答 7

6

我通过执行以下步骤解决了我的问题:
1- 以管理员身份登录到您的 Facebook 到您的应用程序。
2- 转到https://developers.facebook.com/apps/YOUR_FACEBOOK_APP_ID/summary
3- 转到设置>基本>本机 IOS 应用程序
4- 将Configured for iOS SSO:设置为启用

于 2012-06-24T14:22:30.697 回答
2

在 iOS/Android 中,FBAccessToken 的过期时间最长为 60 天。当您在应用程序中执行 FBLogin 时,您将获得访问令牌。一旦获得令牌,您就不应再次登录(否则将提示您已授权此应用程序,因为您的应用程序之前已获得未过期的访问令牌)。您应该重用未过期的访问令牌。

像这样 :

if FBSDKAccessToken.currentAccessToken() != nil {
  print(FBSDKAccessToken.currentAccessToken().userID)
  print(currentAccessToken().tokenString)
//OR call the *FBGraphRequest*
 }

注意:用于应用内浏览器登录(SVC:Safari View Controller)

查看更多: https ://developers.facebook.com/blog/post/2015/10/29/Facebook-Login-iOS9/ 和 https://developers.facebook.com/docs/reference/ios/4.9/class/ FBSDKLoginManager/

于 2016-07-04T19:59:30.243 回答
1

您需要确保您的应用在构建设置中具有正确的 URL 前缀。还要确保 URL 前缀与 Facebook 开发人员应用程序中的 Facebook ID/URL 前缀匹配。

编辑:您的问题可能是 access_token 即将到期,因此必须重新请求权限。

如果您的应用程序没有请求 offline_access 权限,就会发生这种情况。在较新的 SDK 中,offline_access 已被弃用,您现在必须扩展 access_token。

请参阅此链接:https ://developers.facebook.com/docs/mobile/ios/build/#extend_token

于 2012-06-04T21:55:54.810 回答
1

由于这个问题已经得到解答,但我想添加另一个有用的答案Swift 3.0

在 Swift 中使用 FB Login 时,我遇到了问题,我以前这样做过:

let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.loginBehavior = .systemAccount

使用时,系统帐户检查用户是否被授权登录。除非您通过不同的用户注销并登录,否则应用程序会显示相同的“已授权”消息来代替 Fresh login。所以我用了这种方式,这个技巧就可以了:

let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.loginBehavior = .web.

注销后显示登录屏幕。希望这有助于解决这个问题。

随意评论。谢谢。

于 2017-02-21T18:22:29.477 回答
1

在使用 登录之前,您应该检查是否存在当前会话FBSDKLoginManager。登录前请勿使用[loginManager logout]

if ([FBSDKAccessToken currentAccessToken]) 
 {
      NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);
      // Now get details using graphpath. 
 } else {
     // login with permissions using FBSDKLoginManager and get details using graphpath in completion

 }
于 2017-06-09T06:27:25.030 回答
0

facebook.com 上有一个开放的错误

https://developers.facebook.com/bugs/190389531089978

但是这个bug只出现在android,ios工作正常。

(顺便说一句。foursquare 和 spotify android 应用程序中的相同行为 - 看看)

于 2012-06-19T14:11:38.990 回答
0

将您的 iOS FB 应用程序运行到设备而不是模拟器中,它工作正常,并且没有显示已经授权的屏幕。谢谢你。

于 2015-08-20T08:37:09.297 回答