try {
$requestCover = $fb->get('me?fields=cover'); //getting user Cover
$requestProfileCover=$fb->get('/me');
// $cover = $requestCover->getGraphUser();
// $profile = $requestProfileCover->getGraphUser();
}
catch(Facebook\Exceptions\FacebookResponseException $e) {
echo ' error: ' . $e->getMessage();
exit;
}
catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK error: ' . $e->getMessage();
exit;
}
print_r($requestCover); // showing cover details on the screen
echo "<img src='".$requestCover['source']."'/>";
错误:
致命错误:未捕获错误:无法使用类型对象 Facebook \ FacebookResponse作为阵列 C:\ xampp \ htdocs \ fb_app \ twibook \ index.php:165堆栈跟踪:#0 {main} 在第165行的C:\ xampp \ htdocs \ fb_app \ twibook \ index.php中抛出
答案 0 :(得分:0)
CBroe指出您正确使用的功能,以获取您的数据。我正在使用这个答案,试图解释你应该尝试什么不适合评论。 (还没有使用过这个api,所以我不确定你的问题的实际解决方案,但处理你的问题的描述应该是准确的)
通过调用$requestCover = $fb->get('me?fields=cover');
,您将$requestCover
设置为类FacebookResponse
的对象。
因为它是一个对象,所以无法像处理数组元素那样访问它的属性。如果它们是公共的,您必须使用->
- 运算符来访问它们,或者您必须使用特定的方法。
在这种情况下,对于类FacebookResponse
,您必须使用方法。 The one CBroe pointed you to,将返回一个数组,其中包含响应主体的不同数据,因此首先在变量上写入对此方法的调用的返回值,然后您(应该)拥有一个包含您的值的数组。 / p>
try {
$requestCover = $fb->get('me?fields=cover'); //getting user Cover
$requestProfileCover=$fb->get('/me');
}
catch(Facebook\Exceptions\FacebookResponseException $e) {
echo ' error: ' . $e->getMessage();
exit;
}
catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK error: ' . $e->getMessage();
exit;
}
$responseBody = $requestCover->getDecodedBody();
echo "<img src='" . $responseBody ['source'] . "'/>";
print_r($requestCover); // should print an array