为什么 Facebook PHP SDK getUser 总是返回 0?
2022-08-30 12:28:51
我正在尝试与一个需要Facebook用户提供一些信息的网站合作,我正在使用PHP和JS SDK。
我在PHP中有一个函数:
public function isLoggedOnFacebook() {
$user = $this->_facebook->getUser();
if ($user) {
return $this->_facebook->api("/$user");
}
return false;
}
在 保存 SDK 中的 facebook 对象的类上。$this->_facebook
然后在一个块上,我这样做:
<?php if (!$this->isLoggedOnFacebook()): ?>
<div>
<fb:login-button show-faces="true" perms="email" width="500" />
</div>
<?php endif ?>
FB JS环境设置正确(我认为)因此可以正常工作。因此,用户获取弹出窗口并授权该网站。
问题是,即使在用户授权应用程序后,$user始终为0,这意味着始终返回0,然后列出用户的面孔,包括登录的用户,但是如果我让它调用或其他,那么它将引发无效令牌异常。$facebook->getUser()
$facebook->api('/me')
我已经看到了这个问题,但我还没有看到解决方案,我不知道问题出在哪里,我的想法也用完了。
在开发人员的Facebook页面上的应用程序部分有一个“网站”选项卡,您可以在其中设置站点URL和站点域,我认为这是导致我问题的原因,但我不知道这些字段应该包含什么。