Facebook授权每2小时一次!怎么只显示一次?

时间:2011-07-04 10:15:59

标签: iphone objective-c facebook authorization

嗨,我必须遵循问题。 我用它们提供的指南实现了最新的facebook sdk。 所以我确实在userdefaults中保存了截止日期和令牌。 但每2个小时我就要再次授权我的应用程序。 Facebook也会把我带到一个网站:

您已经授权APP_NAME。请按”好“继续。

我认为这对用户来说非常烦人,所以我该如何阻止这种行为呢?我希望用户一次授权,然后永远不再授权。

我发现,如果我要求 offline_access ,令牌永不过期但我不想让用户觉得我的应用确实在他不知情的情况下发布在他的墙上。

offline_access的说明:

  

使您的应用能够执行授权   代表用户的任何请求   时间。默认情况下,大多数访问令牌   过了很短的一段时间才到期   确保应用程序仅发出请求   代表用户的时候   积极使用该应用程序。这个   权限使访问令牌   由我们的OAuth端点返回   长寿命。

有没有其他方法可以不每2小时向用户显示此授权对话框?

编辑:我也发现了这个:

  

将用户重定向到auth对话框时,系统不会提示用户输入权限   如果用户已经授权您的申请。 Facebook将为您返回有效的>访问权限   没有任何面向用户对话的令牌。但是,如果用户已取消您的授权   然后,用户需要重新授权您的应用程序才能获得   的access_token。

但在我的情况下,我总是得到上面提到的屏幕为什么会这样?

1 个答案:

答案 0 :(得分:2)

  

我发现如果我要求offline_access,令牌永不过期但是我不想让用户觉得我的应用在他不知情的情况下贴在墙上的印象。

确实,它是一个命名错误的令牌,而对auth对话框副本的描述是可怕的。如果您考虑一下,没有理由您无法在没有用户物理触发的情况下以编程方式执行任何授权操作。两小时超时的事实只是限制了你的窗口,这就是全部。

如果我是你,我会使用offline_access,然后向用户展示一些副本,解释你与Facebook的互动,并就你将如何以及不会代表他们与Facebook互动作出一些承诺。