使用API​​获取Gowalla登记历史记录

时间:2010-06-12 23:40:48

标签: php api curl geolocation social-networking

我一直在使用Gowalla API,并且想知道是否有人找到了获取所有最近签到的列表的方法(只是你自己的,不包括朋友)。文档非常糟糕。

2 个答案:

答案 0 :(得分:3)

您可以使用他们的API Explorer查看API的可用内容。它非常整洁,可以作为很好的文档,只需查看REST样式的URL。

这是获取最后5张签到的基本代码。您将需要一个API密钥。

$username = 'sco';
$api_key = 'f6cd524ac9c4413abfb41d7123757d9';
$checkin_num = 5;
$url = "http://api.gowalla.com/users/{$username}/stamps?limit={$checkin_num}";

// setup curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array (
    "Accept: application/json",
    "X-Gowalla-API-Key: {$api_key}",
));
$body = curl_exec($ch);
curl_close($ch);
$json = json_decode($body, true);
foreach($json['stamps'] as $stamp) {
    print $stamp['spot']['name'] . '<br/>';
    print "<pre>";
    print_r($stamp);
    print "</pre>";
}

这是checkin 'stamp'对象的样子:

Array
(
    [spot] => Array
        (
            [image_url] => http://static.gowalla.com/categories/24-standard.png
            [url] => /spots/19890
            [lat] => 38.9989524833
            [address] => Array
                (
                    [locality] => Kansas City
                    [region] => MO
                )

            [lng] => -94.5939345333
            [name] => The GAF Pub & Grille
        )

    [first_checkin_at] => 2010-06-12T19:16:57+00:00
    [checkins_count] => 1
    [last_checkin_at] => 2010-06-12T19:16:57+00:00
)

答案 1 :(得分:1)

使用http://api.gowalla.com/users/USERNAME/events获取用户的所有签到。使用page参数获取第一页之外的结果。不要忘记传递带有Accept值的application/json标头,否则Gowalla只会返回500错误。