1

我正在尝试使用 Foursquare API 中的图片获取我的最后一次签到,其中包含以下数据:

  • 场地名称;
  • 入住日期和时间;
  • 图片网址;
  • Foursquare.com 上的签到 URL。

不管幸运与否,我是:

  • 能够使用 jQuery$.getJSON从公共/开放 API 中检索数据(即我在 Dribbble 上的最后一张照片、我在 Last.fm 上的最后一首歌或我在 Instagram 上的最后一张照片);
  • 无法编写 OAuth 应用程序,主要是因为每次尝试学习 OAuth 时我都无法理解 OAuth。

这是我所做的:

  • 在 上创建了一个应用程序foursquare.com/developers/apps,所以我现在有一个客户端 ID 和一个客户端密钥;
  • 尝试将客户端 ID 和 Secrets 都放入&.getJSON请求中,并悄悄地期望它能够正常工作,例如:
var url1 = "https://api.foursquare.com/v2/users/self/checkins?client_id=XXX&client_secret=XXX",
    url2 = "https://api.foursquare.com/v2/users/self/checkins?oauth_token=XXX&v=20130718"

$.getJSON(url1, 函数(数据) {
    控制台.log(数据);
});

$.getJSON(url2, 函数(数据) {
    控制台.log(数据);
});

当然没有任何效果,也许是因为我只是不了解 OAuth 的工作原理以及我必须做什么来验证我的请求。我尝试(多次)阅读 OAuth 文档,但我在这些问题上的低识字率根本没有帮助。底线:如果我对 OAuth 了解不深,我如何获得最后一张带图片的签到?也许一个 JS/PHP 库可以简化这个过程(如果你能推荐一个,我将不胜感激),但我也想了解它是如何工作的。

4

1 回答 1

2

您尝试使用的 users/self/checkins 端点无法通过无用户访问(这是您尝试使用的url1),这意味着,无论好坏,您都必须使用 OAuth。

OAuth 是关于一个用户授予您的应用程序访问该用户在 Foursquare 上的数据的权限。通过我们在连接页面上描述的过程,您可以access_token从我们这里获得一个,您需要在每次调用我们的 API 时将其传递。如果此文档在技术上过于密集,也许可以尝试使用现有的OAuth 库,甚至是一些新兴的“OAuth-as-a-service”解决方案。如果您在身份验证过程中遇到任何特定问题,请随时向 api (at)foursquare (dot) com 发送电子邮件,我们将尽最大努力帮助您完成。

于 2013-07-24T01:32:43.483 回答