axios 和浏览器在 Foursquare Places API 中对地点搜索的响应差异

The difference of the responses between axios and browser in Foursquare Places API for Venue Search

当我在浏览器中打开以下 Foursqaure API 请求时,

https://api.foursquare.com/v2/venues/search?near=tokyo&client_id=LBPXTL2OS0SAYRDFXR3AB0JDZSCQTFHQFTVTI4YATZ0HDFFX&client_secret=0EUYB2ZK4NEPZVFD4JAXFFCVXNW5Q1GSTILY45402QFSPFSF&v=20180323&limit=1&categoryId=4bf58dd8d48988d181941735

我得到了一个 checkinsCount = 26788 的场地。但是当我通过 axios 发送相同 URL 的 GET 请求时,就像我在下面的 codesandbox 中所做的那样,我得到了不同的响应和场地的 checkinsCount = 0.

https://codesandbox.io/s/stoic-morning-8x2xs?file=/src/App.js

谁能告诉我为什么会有不同的反应?

因此,经过一些研究后,我发现 that article 表明无法通过 api 获得签到数据。

我很困惑为什么它在我的 Chrome 中可见,所以我测试了其他环境,如终端、Firefox、Safari,基本上所有地方 checkinsCount 都是零。但我没有在那些环境中登录 foursquare 开发人员门户,所以我猜他们可能会检查你的 cookie 或其他东西。

这似乎正是他们在做的事情,如果您登录开发人员门户,他们就会有 oauth_token cookie,如果您有有效的 cookie,那么出于某种原因您将获得一些奖励数据。如果您有无效的 cookie,响应中将出现错误。如果您没有此 cookie,则某些数据(例如 checkinsCount 将不可用

这就是为什么@JeffUk 第一次得到 0 - 他没有登录控制台。