我们正在构建的应用程序是一个 iOS 和 Android 移动应用程序,它将高中生与非营利组织配对,以帮助管理他们的 Facebook 页面。我们将每个学生分配给一个非营利组织,让他们成为其 Facebook 页面的管理员,并允许他们代表该组织创建帖子以吸引新的受众。然后,每个学生都会获得一个分数,该分数由学生在页面上的帖子获得的点赞、评论、分享等组成。
我们遇到的麻烦在于 Facebook Graph API。我们需要熟悉当前 Facebook SDK 的人来帮助我们制定更好的计划来检索特定数据。
目前,我们已经为我们平台上的每个非营利性 Facebook 页面创建了一个管理员个人资料。我们使用此管理员访问权限来检索每个 Facebook 页面的用户访问 token 和页面访问 token 。但是使用新的 SDK,我们只能使页面访问 token 持续 60 天,这使得我们不得不不断刷新 token 来检索数据。但是,当我们刷新时,Facebook 会要求我们使用用户名和密码进行身份验证,这会减慢我们的后端速度,并有很高的服务器崩溃风险。此外,这种方法增加了我们每天向 Facebook 发出的数据请求数量,当我们向应用添加更多用户时,Facebook 可能会完全关闭我们的访问权限。
所以我们的问题确实出在这个页面访问 token 上,因为我们正在尝试从多个不同的 Facebook 页面查询数据。我们请求的数据也非常具体,因为我们只希望页面上特定“admin_creator”发布的帖子中的数据(即仅限学生,而不是任何其他管理员)为学生分配分数。
有没有办法让当前的 Facebook SDK 的页面访问 token 永不过期?有一些帖子描述了这个过程,但它们是针对 2014 年的,而不是当前版本。另外,有没有比我们目前的方法更好的方法来检索我们需要的特定数据?
Best Answer-推荐答案 strong>
步骤:
- 获取具有
manage_pages 权限的user-access-token。
扩展 token 使用(做服务器端,因为它涉及应用程序 secret )
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={your_app_id}&client_secret={your_app_secret}&fb_exchange_token={user_token_from_last_step}
使用上述步骤中的扩展 token 并使用 API-
/v2.5/{page-id}?fields=access_token
您将获得页面访问 token 作为响应,该 token 永不过期。
我认为您已经完成了第 2 步,只需按照第 3 步进行操作即可。
我建议你通过 this page关于访问 token 和事情会更清楚。
关于android - 使用 2016 Facebook SDK 使页面访问 token 永不过期?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/34891245/
|