0

我正在构建一个内部应用程序,它将同时从多个社交网络中收集信息。应用程序的 URL 可能是未知的,或者在 localhost 之外的任何地方都不允许使用。

我将积累的信息之一是 FQL 洞察表信息:https ://developers.facebook.com/docs/reference/fql/insights/ 。您可能会注意到,此信息是私密的,因此我无法匿名获取。

应用程序本身是以“配置一次并永久使用”的方式编写的,可能根本不允许使用该应用程序的人使用 Facebook 登录凭据。

我的问题是 Facebook 登录。据我了解,现在不推荐使用“永久访问”的登录方式,并且 Facebook 不允许像 Twitter 那样访问 API(创建永久密钥并忘记它)。问题是:

  • 有什么办法可以克服每次我想获取他们时都需要向这个人询问权限的事实吗?问之间的最长间隔是多少?

我目前对此的想法是:

  • 为“经理”创建一个虚拟用户并授予他对 FB 页面的只读访问权限,从而使他能够登录该帐户。然后在我需要时每隔(n)小时向他询问权限。
  • 假设我们拥有帐户的登录名/密码并自己获取 API 密钥,则自动登录到 FB 帐户。

哪个可行?有没有人有做这种事情的经验?

4

1 回答 1

2
What can be the longest period between asking?

您可以使用有效期为60 天的长寿命用户 access_token。使用以下 FB 调用获取扩展访问令牌:

https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN

您可以在此处查看更多详细信息:

https://developers.facebook.com/roadmap/offline-access-removal/

这里还有一点值得注意:当用户更改密码时,取消对应用程序的授权,他们的 OAuth 令牌就会过期。

希望这有帮助!

于 2012-10-16T16:39:33.207 回答