我希望在Facebook上的个人资料中获得所有参与活动。 我找到了这个有趣的答案,我认为这就是我需要的。 Graph API - Get events by owner/creator
我复制并粘贴代码,然后更改app-id,秘密和页面, 我启动了该页面,但它说" 致命错误:Class' Facebook'在第25行的/membri/bestparty/BPARTY4/index.php中找不到"
我包含了由github下载的Facebook php sdk v4,没有作曲家(是的,我阅读了有关它的所有文档,但我不明白它是如何工作的) 这是代码
<?php
require_once 'facebook-php-sdk-v4-4.0-dev/autoload.php';
use Facebook\FacebookRequest;
use Facebook\FacebookRequestException;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookServerException;
use Facebook\FacebookSession;
date_default_timezone_set('America/Los_Angeles');
$app_id = '1508703399385376';
$secret = 'c16169730c7dd504f2ba3a88b50e0888';
$page_id = '1482914931991616';
$config = array();
$config['appId'] = $app_id;
$config['secret'] = $secret;
$config['fileUpload'] = false; // optional
$facebook = new Facebook($config);
$fql = 'SELECT
eid,
name,
pic_square,
creator,
start_time,
end_time
FROM event
WHERE eid IN
(SELECT eid
FROM event_member
WHERE uid='.$page_id.'
)
AND end_time >= ' . mktime() . '
ORDER BY start_time ASC
';
$ret_obj = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql,
));
$html = '';
foreach($ret_obj as $key)
{
$facebook_url = 'https://www.facebook.com/event.php?eid=' . $key['eid'];
$start_time = date('M j, Y \a\t g:i A', $key['start_time']);
$end_time = date('M j, Y \a\t g:i A', $key['end_time']);
$html .= '
<div class="event">
<a href="'.$facebook_url.'">
<img src="'.$key['pic_square'].'" />
</a>
<span>
<a href="'.$facebook_url.'">
<h2>'.$key['name'].'</h2>
</a>
<p class="time">'.$start_time.'</p>
<p class="time">'.$end_time.'</p>
</span>
</div>
';
}
echo "$html a";
echo "aaaa";
?>
我还想知道,如果我输入我的个人资料ID,而不是页面ID,它也有效。 谢谢
答案 0 :(得分:0)
您似乎将SDK 3代码与SDK 4混合使用。有关SDK 4代码的示例,请参阅https://developers.facebook.com/docs/php/howto/profilewithgraphapi/4.0.0。
SDK 4没有root Facebook
类,不再使用$facebook = new Facebook($config);
。
FQL也即将停止使用 - 在弃用之前创建的应用程序仍可访问它,但新应用程序必须使用Graph SDK 2.2,并且根本无法执行FQL查询。