我们正在构建的应用程序是iOS和Android移动应用程序,它将高中学生与非营利组织配对,以帮助管理他们的Facebook页面。我们将每个学生分配给一个非营利组织,让他们成为他们Facebook页面的管理员,并允许他们代表组织创建帖子以吸引新的受众。然后给每个学生一个分数,该分数包括学生在页面上的帖子所获得的喜欢,评论,分享等。
我们遇到的麻烦在于使用Facebook Graph API。我们需要熟悉当前Facebook SDK的人,这可以帮助我们制定更好的计划来检索特定数据。
目前,我们已经为我们平台上的每个非营利性Facebook页面制作了一个管理员资料。我们使用此管理员访问权限来检索每个Facebook页面的用户访问令牌和页面访问令牌。但是使用新的SDK,我们只能在60天内制作页面访问令牌,这使我们不断刷新令牌以检索数据。但是,当我们刷新时,Facebook会要求我们使用用户名和密码进行身份验证,这会降低我们的后端速度,从而导致服务器崩溃的风险很高。此外,这种方法增加了我们对Facebook进行数据的每日请求量,从而存在Facebook可能会在我们向应用添加更多用户时完全关闭访问权限的风险。
所以我们的问题实际上在于此页面访问令牌,因为我们正在尝试查询来自多个不同Facebook页面的数据。我们要求的数据也非常具体,因为我们只希望从特定的" admin_creator"在页面上(也就是仅限学生,而不是任何其他管理员)为学生分配分数。
有没有办法让页面访问令牌永远不会过期使用当前的Facebook SDK?有些帖子描述了这个过程,但它们是针对2014年的,而不是当前版本。另外,有没有比我们当前方法更好的方法来检索我们需要的特定数据?
答案 0 :(得分:2)
步骤:
manage_pages
的用户访问令牌。 使用扩展令牌(执行服务器端,因为它涉及应用程序密钥)
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}
使用上述步骤中的扩展令牌并使用API -
/v2.5/{page-id}?fields=access_token
您将获得页面访问令牌作为回应,永远不会过期。
我认为你是第2步,只需按照第3步进行操作就可以了。
我建议您通过this page了解访问令牌,事情会更加清晰。