我在弃用offline_access权限后写这个,所以我希望能帮助解决我的问题。我也是Facebook Graph API的新手。
我创建了一个测试页面,可以使用JS SDK进行身份验证,请求特定权限,检查这些权限等等。
但是,我想知道的是如何从Javascript Session变量(即令牌)中提取数据并将它们存储在可以通过PHP使用来扩展令牌并将其用于离线使用的数据库中。 p>
我会告诉你我的情景。我正在考虑一个人们上传图片的网站。他们使用Facebook在我的网站上创建一个帐户。当人们对图像进行投票时,会产生积分。当用户累积一定数量的积分时,比如1000 - 我想在照片所有者的墙上发布更新,例如“John Doe刚刚在example.com上超过1,000点”。
显然,这个动作是由第三人称事件触发的,因此我没有一个有效的短命令牌可以发布到John Doe的墙上。
我唯一的想法是在授权存储user_id和令牌的抽象PHP文件后执行AJAX调用,该抽象文件将处理在数据库中存储细节并发送对图的cURL调用以扩展令牌的生命周期,然后更新数据库中的令牌。
这真的是最好的方法吗?
另外,为什么60天限制“长寿”代币?如果John Doe在3个月内没有访问我的网站怎么办,但是慢慢地他的一只骑着独角兽的猫的照片已经获得积分,当它达到一个里程碑时,有什么更好的方式让John Doe重新访问我的网站而不是发布在他的墙上,他现在得到了1000分。
提前感谢大家的想法, HPC
答案 0 :(得分:0)
1.根据您关于如何通过JavaScript API为PHP提供用户ID和令牌值的第一个问题,您可以在用户登录应用程序后刷新页面,以便PHP可以拥有这些值并执行必要的操作动作。
2.关于如何重新聘用未在长寿命令牌生命周期内登录的用户的第二个问题,我建议您使用apprequest或Notification API来与他重新接触,并请他访问您的网站,以了解他最近的成就。