使用 API 获取 Gowalla 签到历史记录

Posted

技术标签:

【中文标题】使用 API 获取 Gowalla 签到历史记录【英文标题】:Getting Gowalla Check-in history using API 【发布时间】:2010-06-12 23:40:48 【问题描述】:

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

【问题讨论】:

【参考方案1】:

您可以使用他们的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>";

这是签入'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
)

【讨论】:

很高兴为您提供帮助。欢迎使用 ***! 这为您提供了“印章” - 您在每个不同的地点签到都有一个印章。然而,这不会给您每次签到 - 也不会给您与签到相关的消息。 对,ibz,答案是针对如何使用 php 和 cURL 来获取数据的,我还将提问者推荐给 API Explorer,以便他了解可用的不同数据.如果您觉得我的答案需要编辑或澄清,请随时添加!谢谢。 @artlung 不知道这个问题的初衷是什么——如果它是关于如何从 PHP 调用 Gowalla API,那么你的答案很好。然而,我来到这个问题,希望我能找到一种方法来获得实际的签到——这似乎不可能通过使用 API 资源管理器中描述的 API 调用来实现。 :( 是的,毕竟我找到了一种方法,并在这里发布了答案。【参考方案2】:

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

【讨论】:

哇,Gowalla 刚刚发布了第 4 版 - 旧 API 仍然有效,但似乎无法捕获在第 4 版客户端上创建的签入!

以上是关于使用 API 获取 Gowalla 签到历史记录的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Youtube Javascript API 获取 youtube 用户的观看历史记录?

如何使用 Python 获取币安 API 的所有价格历史记录?

在Paypal API上获取付款历史记录

Dropbox Api,获取用户历史记录

如何通过API从Hipchat获取房间的所有消息历史记录?

通过 API 获取 Android 订阅的用户历史交易记录