我想写一个Wordpress插件,它将获取我在facebook上的朋友或我喜欢的页面的'更新'。
- 在PHP中是可行的吗?
有代码示例吗?我试着在Facebook上找网站,但没有找到如何获得更新的例子。
- 有什么建议吗?
OK。让我们从头开始。你当然可以这么做。Facebook的API正在增长,你可以用一个非常简单的方法,使用"FQL"。
下面的代码(基于facebook的例子):
<?php
$facebook = new Facebook(array(
'appId' => '127375200698444',
'secret' => '3584a791118c4d8811573c8184b51385',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
$fql = 'SELECT status_id, message from status where uid=' . $user;
// Proceed knowing you have a logged in user who's authenticated.
$updates = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql,
));
} catch (FacebookApiException $e) {
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_status, friends_status',
));
}
上面的代码需要在facebook上注册的应用程序(您可以在https://developers.facebook.com/apps上注册)。只需在那里注册并将appId和secret替换为您的值。
完成所有这些之后,您必须回叫url $loginUrl以获得用户的AuthToken。使用这个令牌,您可以获得他的所有更新(使用示例中的fql)。
此处使用的Facebook类型可在https://github.com/facebook/php-sdk获得。
我希望这有帮助,或者至少给了一个路径。
Status FQL Docs:http://developers.facebook.com/docs/reference/fql/status/
API方法文档(我的例子是基于这里):http://developers.facebook.com/docs/reference/php/facebook-api/
我猜它必须是来自JavaScript的AJAX请求,在设置的间隔上检查表是否已更新,如果有,则用AJAX刷新页面上的结果。对于AJAX语法,我将使用jQuery,它使它更简单。至于PHP,只需让它检查表中是否有任何更改,如果有,则在echo
中输出结果,并让jQuery将结果附加到页面中。这似乎是最合理的方法