Php Facebook OpenGraph GraphObject正在返回空对象
我正在尝试使用PHPSDK从Facebook页面读取评分,以便在外部显示。我已经有了一个长寿命访问令牌,并且能够使用它拉入主页数据,但是当我尝试访问Php Facebook OpenGraph GraphObject正在返回空对象,php,facebook,facebook-graph-api,facebook-php-sdk,facebook-opengraph,Php,Facebook,Facebook Graph Api,Facebook Php Sdk,Facebook Opengraph,我正在尝试使用PHPSDK从Facebook页面读取评分,以便在外部显示。我已经有了一个长寿命访问令牌,并且能够使用它拉入主页数据,但是当我尝试访问/ratings端点时,我只收到一个空的数组() 如果我从请求uri中删除/ratings,它返回的数据很好,但正如我在这里提到的,它不起作用 我从我自己的帐户生成了长寿命访问令牌,该帐户具有对页面的管理员访问权限您是否尝试使用页面访问令牌?据我所知,这就是我正在使用的长寿命页面访问令牌。不幸的是,这变得越来越复杂,因为这是一个页面,我只是暂时的管理
/ratings
端点时,我只收到一个空的数组()
如果我从请求uri中删除/ratings
,它返回的数据很好,但正如我在这里提到的,它不起作用
我从我自己的帐户生成了长寿命访问令牌,该帐户具有对页面的管理员访问权限您是否尝试使用页面访问令牌?据我所知,这就是我正在使用的长寿命页面访问令牌。不幸的是,这变得越来越复杂,因为这是一个页面,我只是暂时的管理员,但我认为这个访问令牌不会工作,一旦我不是管理员调试访问令牌,然后看看它是否是一个页面访问令牌原来它是为错误的血腥页面。。。一步一步地进行,虽然很有趣,但它工作得很好,
page_id/ratings
端点在使用用户访问令牌调用时返回一个OAutheException,但只返回一个空数据数组,其中包含一个页面访问令牌,该令牌不适用于所讨论的页面–这解释了为什么您很难发现错误@WizKid,你认为这应该被报告为一个bug,或者这是预期的功能?
class FacebookReviews
{
protected $session;
protected $page;
protected $ratings;
protected $appId;
protected $appSecret;
function __construct($appId = null, $appSecret = null)
{
session_start();
$this->appId = '123456789123456';
$this->appSecret = '1234567890abcdefghijklmnopqrstuv';
Facebook\FacebookSession::setDefaultApplication($this->appId, $this->appSecret);
$this->session = new Facebook\FacebookSession('LONG LIVE ACCESS TOKEN I GENERATED ON THE GRAPH API');
try {
$this->session->validate();
} catch (Facebook\FacebookRequestException $ex) {
// Session not valid, Graph API returned an exception with the reason.
echo $ex->getMessage();
} catch (\Exception $ex) {
// Graph API returned info, but it may mismatch the current app or have expired.
echo $ex->getMessage();
}
try {
$this->page = (new Facebook\FacebookRequest($this->session, 'GET', '/123456789123456/ratings'))->execute()->getGraphObject()->asArray();
} catch(Facebook\FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
public function result()
{
return $this->page;
}
}
$reviews = new FacebookReviews();
print_r($reviews->result());