gpt4 book ai didi

php - 无法像某些用户那样获取页面

转载 作者:可可西里 更新时间:2023-11-01 00:45:22 24 4
gpt4 key购买 nike

我开发了一个 PHP 应用程序,如果用户喜欢某个页面,它只需要获取。

我以这种方式登录用户:

$this->_facebook = new Facebook(array(
'appId' => "123",
'secret' => "346",
));
$this->_facebookUser = $this->_facebook->getUser();
$this->_facebook->api('/me');

然后

    $checkIfUserLikePage = $this->_facebook->api(array(
"method" => "fql.query",
"query" => "select uid from page_fan where uid=me() and page_id=" . $pageid,
));

这主要有效,但对于某些用户无效,它返回一个空数组。我在网上查过,我的应用程序可能缺少 *user_likes* 权限。事实上我没有这个许可。所以我再次发现我应该添加权限,卸载应用程序并重试。

所以我:

  1. 登录到 developer.facebook.com > apps > myapp> App details > 配置 App Center 权限
  2. 将“user_likes”添加到用户和好友权限文本区域
  3. 已保存
  4. 要求测试用户删除 myapp
  5. 要求测试用户访问该应用

结果我仍然为用户得到一个空数组。还有什么问题?谢谢

最佳答案

不要将应用中心中的权限与您传递给范围的权限混淆。提示用户权限时,是否在范围内添加了“user_likes”?

例如,使用 JS-SDK,您可以这样做:

FB.login(function(response) {
// Do some fancy stuff
}, {scope: 'user_likes'});

同时确保您拥有有效的用户访问 token 。您的 PHP-SDK 提供了一个名为“getAccessToken()”的方法,它返回当前的访问 token 。

您也可以简单地尝试打印返回当前用户的用户 ID 的 getUser() 的结果。如果得到 0,则可以确定用户未连接到您的 Facebook 应用程序,因此您将无法在 FQL 查询中使用 me()。

还可以使用 /{user-id}/permissions 查询图形 API。您将得到一个返回的 json 对象,其中包含用户授予的所有权限。当然,您需要一个有效的连接用户才能执行此操作。

我希望我能给你一些有用的建议。如果没有任何帮助,请尝试发布更多代码。

编码愉快!

关于php - 无法像某些用户那样获取页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20541335/

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