我正在尝试在用户拥有的网页上为发布商设置应用。
1)我通过manage_pages,publish_stream范围
请求获得js的许可2)$ fb-> api('/'。$ fb-> getUser()。'/ accounts','GET',array('access_token'=> $ token)
3)我通过线程How to extend access token validity since offline_access deprecation
中的MarcusJoe方法获取令牌4)将页面access_token存储在db
中5)在页面上张贴$ fb-> api('/'。$ pageId。'/ feed','POST',array_merge(array('access_token'=> $ row-> token), $ PARAMS));
因此,当我登录时,如果我注销掉掉我所有的饼干只需要大约两个小时就可以工作,而不是停止使用消息
使访问令牌无效时出错:会话与当前存储的会话不匹配。这可能 因为用户在创建会话之后更改了密码,或者Facebook出于安全原因更改了会话。
所以我深深地想知道我是否犯了错误:(
请帮帮我吗?
再见
答案 0 :(得分:0)
每当facebook按您的方式发送令牌时,他们也会添加“过期”字段。 令牌结果具有以下格式:
access_token=XXXXXX&expires=0000
(申请令牌除外)
因此,当您提取访问令牌时,也要获得过期时间,并确保它有多长时间。 您可能希望尝试服务器端身份验证,因为它会生成长期令牌。
当用户注销时,会话失效并且您的令牌变得无用。 除了让用户重新使用您的应用程序之外,您无法获得新令牌。 还有其他情况会话失效,例如更换密码,删除您的应用程序。