我正在关注本指南:https://developers.facebook.com/docs/howtos/login/getting-started/
关于登录,一切正常。我不明白的是我如何处理'会话':
我使用的是PHP,MySQL,JavaScript和HTML5。
答案 0 :(得分:1)
我想使用FB.getLoginStatus而不是会话?
FB.getLoginStatus
用于帮助您根据用户的登录状态优化访问者体验,因此不能替代“会话”。
每次用户进入新页面时,我都要检查FB.getLoginStatus 在我的网站上。这是否意味着我必须初始化JavaScript SDK 对于每一页?每个页面只需要检查50行代码 登录状态......
好吧,如果您想使用SDK,初始化Javascript SDK就是您要做的事情。现在我没有看到代码行数有什么问题,因为Facebook已经异步加载SDK,因此它不会阻止你的页面资源。
对于您的第一点,您不必每次在页面加载时调用FB.getLoginStatus
,Facebook已在相关的document中说明了这一点:
虽然您可以随时致电
FB.getLoginStatus
(例如,当时 用户尝试采取社交行动),大多数社交应用需要知道 页面加载后,用户的状态会尽快显示。在这种情况下, 而不是明确地调用FB.getLoginStatus
,有可能 在致电status: true
时设置FB.init
,检查用户的状态。要接收此通话的回复,您必须订阅
auth.statusChange
事件。此事件传递的响应对象是 与通过调用FB.getLoginStatus
返回的相同 明确。
现在您可能错过的一件事是PHP-SDK:
Facebook SDK for PHP可以与Facebook SDK一起使用 为Javascript提供跨两者的无缝会话管理 应用程序的客户端和服务器端。
这样可以让您的生活更轻松,因为您可以在加载页面之前了解用户状态,从而相应地自定义用户体验,然后等待Javascript SDK触发的任何状态更改。
答案 1 :(得分:0)
在Facebook开发者专区,他们似乎有一个关于如何在不调用Javascript SDK的情况下登录的部分。
https://developers.facebook.com/docs/howtos/login/client-side-without-js-sdk/
用户将拥有一个API访问令牌,可用于进一步的请求。
我希望有所帮助。