gpt4 book ai didi

facebook-php-sdk - "An active access token must be used"(2012 年 12 月)& 为 Ajax 调用设置 Facebook PHP-SDK 以获取用户 ID 的正确方法

转载 作者:行者123 更新时间:2023-12-03 23:38:49 24 4
gpt4 key购买 nike

这让我很头疼。我有一个页面选项卡应用程序,其中 DB-interaction 使用 facebook-user-id 来分配和保存数据并检查用户权限。直到很久以前,一切都运行良好,但现在随着即将到来的 12 月变化,此设置不再起作用:

config.php:

$facebook = new Facebook( array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));

index.php:
包含 config.php 并获取签名的请求(对于问题不重要

javascript.js:
调用 read-user-status.php 并处理数据

读取用户状态.php:
给出 json-response,包括 config.php 并调用 $facebook -> getUser()-function 来获取 uid

即使在页面加载后直接从 index.php 调用,我有时也会得到 uid,有时不会。奇怪的是,我通常需要稍等片刻,直到我重新加载页面,然后它才能再次运行。但情况并非总是如此。这一切对我来说都很奇怪。

编辑:应该提到这个调用:
$uid = $facebook -> getUser();
if ($uid) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook -> api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$uid = FALSE;
echo "EXCEPTION $e";
}
}

给出“异常必须使用事件访问 token 来查询有关当前用户的信息”。

我知道那里有很多类似的问题,但没有一个答案对我的特定问题(可能对依赖的新突破性更改)有帮助。

编辑2:我现在假设这是一个 sdk 错误( https://developers.facebook.com/bugs/238039849657148 ,感谢 CBroe)。任何解决方法的建议当然都非常受欢迎。

编辑 3,临时解决方案
每次发出 ajax 请求时,您都会发布从 FB.getLoginStatus 或 FB.login 获得的 token ,并在 php 文件中读取它并通过 $facebook -> setAccessToken 进行设置。并非适用于所有情况(您肯定需要使用 post),速度较慢并带来一些安全问题,但仍然有效。

最佳答案

听起来您受到了我在 11 月初报告的错误的影响,https://developers.facebook.com/bugs/238039849657148

他们已经确认并说他们正在努力修复——但由于距离现在只有几天的变化,他们应该快点……

关于facebook-php-sdk - "An active access token must be used"(2012 年 12 月)& 为 Ajax 调用设置 Facebook PHP-SDK 以获取用户 ID 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com