我对Facebook PHP SDK有一个奇怪的问题,
$response = $this->getConnection()->get("me/posts");
$feedEdge = $response->getGraphEdge();
var_dump($response); exit;
getConnection()
调用为我提供了一个\Facebook\Facebook
对象,其中default_access_token
设置为var_dump
,但是当我收到来自Facebook的回复
但是上面["decodedBody":protected]=>
array(1) {
["data"]=>
array(0) {
}
}
的正文给出了:
get()
真正奇怪的是,当我使用Graph Explorer(作为我的应用程序并使用相同的页面)时,我会看到所有帖子。所以我想也许是因为访问令牌工作不正常所以我将图浏览器中显示的访问令牌复制并粘贴到我的$response = $this->getConnection()->get("me/posts", "EAA....");
$feedEdge = $response->getGraphEdge();
var_dump($response); exit;
调用中以覆盖默认值,如下所示,不幸的是这不起作用我得到的确切相同的输出。
// userController.js
// Import user from user model
import User from './Models/user';
// import function to check if user exist
import UserExists from './helpers/util';
class userController {
static updateUser (req, res) {
// Find if user exist
if (UserExists) {
return res.status(400).json({ message: 'User already exist'});
}
// else do something here i can try to do it if i like
}
// helpers/util.js
import User from ./Models/user
export.userExists = (valueTobePassed) {
User.find({
// find uere here
}).then((user) => {
if(!user) {
return false;
}
return true
});
所以我不确定为什么一个地方的同一个令牌会在另一个地方获得信息时会得到一个空集最糟糕的部分是它不像请求失败因为抛出异常就像使用Explorer时使用PHP-SDK经文时,Facebook Graph API对我的应用程序的反应不同。
答案 0 :(得分:0)
因此,在Graph API资源管理器中测试内容和我编写的API之后,即使您使用manage_pages /me/posts
,使用PHP SDK时access_token
端点也存在问题。它似乎锁定了用户而不是图形浏览器的页面,而不是/ me / posts,发布到access_token
的实体。
因此,请务必请求/{page_id|user_id}/posts
,然后才能正常使用。