我是 facebook API 的新手。我整天都在阅读文档,但我仍然无法了解它是如何工作的。
我正在使用官方的php-sdk ,我认为我将获得每个用户的永久密钥,我可以将其插入数据库并在每次我需要为用户数据调用API时使用。< / p>
有可能得到这样的东西吗?永久钥匙?
我已阅读Facebook login – access tokens,但我仍然无法使其发挥作用。
这是我唯一的工作方式:http://pastebin.com/Dq65pZaU。在为每个用户提供永久密钥后,如何调用API?我可以自己编辑:)只是想告诉你你的来源。对不起,对于愚蠢的问题,但FB api对我来说就像地狱一样。
答案 0 :(得分:1)
短篇大论:
使用oAuth时,请考虑您有两件事要做。首先将用户登录到oAuth应用程序,然后请求一个令牌,该令牌将代表用户授予您对该应用程序的权限。 要定义用户可以授予您的权限,请使用范围。范围定义了一些属性组。例如范围=生日等等。
如果您想存储用户个人资料的ID以供将来参考,则facebook SDK会提供fb user_id。但是为了调用api,你需要存储和使用令牌。
令牌可以持续长达2个小时。当令牌过期时,您需要获得一个新令牌。
您需要通过令牌调试器或其他方法尝试和失败来实现对令牌有效性的检查。
再次,您将用户登录到Facebook,询问阅读电子邮件,例如权限。用户授予他们,然后您获得令牌和用户ID。使用令牌进行呼叫,如果它不起作用,您需要通过重新登录等来向用户请求新的呼叫。
最后,有一些方法可以延长令牌的使用期限或请求新的令牌(交换)。
所有这些方法都记录在案here。
我希望这有点清楚。
疑难杂症:
- 通常,网络服务器流程会授予您60天令牌。见讨论here
- 在令牌上使用调试器以查找有关它的信息here