有没有一种方法可以检查用户是否在过去的任何时候签到过某个特定的地方?
使用php sdk,我可以获得如下的位置信息:
$place = $facebook->api('/placeIDhere');
var_dump($place['checkins'])这给出了签入计数。
要获得用户的最新签到信息,我可以这样做
$usercheckins = $facebook->api('/search?type=checkin');
var_dump($usercheckins[0]['place']['name']);这为我提供了最后一次按名称签入
但有没有办法检查用户是否签到了一个特殊的地方?/search?type=checkin只给我很少的最近签到,如果签到超过2-3周,它甚至不会出现。
感谢大家的帮助。
发布于 2011-05-28 00:22:14
发布于 2011-05-28 11:41:33
下面是如何使bkaid答案与PHP SDK (see on github)一起工作。
首先,您必须检查用户是否已登录:
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}如果他没有登录,您可以呈现该链接以使他登录。如果他是,你可以进行API调用:
if (!$user) {
echo '<a href="' . $facebook->getLoginUrl() . '">Login with Facebook</a>';
} else {
$fql = "SELECT post_id, message FROM checkin
WHERE author_uid = me() AND page_id = THE_PAGE_ID";
$response = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql,
));
}希望这能有所帮助!
https://stackoverflow.com/questions/6153681
复制相似问题