【问题标题】:Facebook Open Graph - See if User checked into a particular place some timeFacebook Open Graph - 查看用户是否在某个特定时间签入
【发布时间】:2011-09-03 11:09:41
【问题描述】:

有没有办法检查用户是否在过去的任何时间检查过特定地点?

使用 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 周,它甚至不会出现。

感谢所有帮助。

【问题讨论】:

    标签: php facebook facebook-opengraph facebook-php-sdk checkin


    【解决方案1】:

    checkin 表执行FQL query。比如:

        SELECT coords,tagged_uids,author_uid,page_id,app_id,post_id,timestamp,message 
        FROM checkin 
        WHERE author_uid = me() and page_id = 'placeID'
    

    【讨论】:

    • 有没有办法用新的 sdk 版本做到这一点?尝试了类似的事情但没有回应:$facebook->api('fql.query?query=xyz');
    • 通过在developers.facebook.com/docs/reference/rest/fql.query 上测试相同的查询,确保您运行的查询实际上会返回结果。另外,请先尝试更基本的查询。
    • 好的,无法使用 php-sdk 进行此操作。我现在将 file_get_contents 与 sdk 中的 access_token 一起使用。似乎工作,谢谢!我很感激每一个提示让这个直接与 sdk 一起工作
    【解决方案2】:

    以下是如何使 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,
        ));
    }
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 2012-07-13
      • 2012-05-10
      相关资源
      最近更新 更多