首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook Open Graph -查看用户是否在某个时间签入某个特定位置

Facebook Open Graph -查看用户是否在某个时间签入某个特定位置
EN

Stack Overflow用户
提问于 2011-05-27 22:29:19
回答 2查看 1.3K关注 0票数 0

有没有一种方法可以检查用户是否在过去的任何时候签到过某个特定的地方?

使用php sdk,我可以获得如下的位置信息:

代码语言:javascript
复制
$place = $facebook->api('/placeIDhere');
var_dump($place['checkins'])

这给出了签入计数。

要获得用户的最新签到信息,我可以这样做

代码语言:javascript
复制
$usercheckins = $facebook->api('/search?type=checkin');
var_dump($usercheckins[0]['place']['name']);

这为我提供了最后一次按名称签入

但有没有办法检查用户是否签到了一个特殊的地方?/search?type=checkin只给我很少的最近签到,如果签到超过2-3周,它甚至不会出现。

感谢大家的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-28 00:22:14

checkin表执行FQL query。类似于:

代码语言:javascript
复制
    SELECT coords,tagged_uids,author_uid,page_id,app_id,post_id,timestamp,message 
    FROM checkin 
    WHERE author_uid = me() and page_id = 'placeID'
票数 0
EN

Stack Overflow用户

发布于 2011-05-28 11:41:33

下面是如何使bkaid答案与PHP SDK (see on github)一起工作。

首先,您必须检查用户是否已登录:

代码语言:javascript
复制
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调用:

代码语言:javascript
复制
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,
    ));
}

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6153681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档