OGeek|极客世界-中国程序员成长平台

标题: android - 使用 2016 Facebook SDK 使页面访问 token 永不过期? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:13
标题: android - 使用 2016 Facebook SDK 使页面访问 token 永不过期?

我们正在构建的应用程序是一个 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-推荐答案


步骤:

  1. 获取具有manage_pages权限的user-access-token
  2. 扩展 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}

  3. 使用上述步骤中的扩展 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4