如何使用Foursquare API获取场地详细信息

时间:2012-03-09 10:15:37

标签: php api foursquare

所以我正在尝试使用PHP获取特定场所的详细信息。这是我的代码尝试使用GET请求到Foursquare API返回结果,然后将它们作为JSON处理并显示名称,地址和城市:

$curlhandle = curl_init();
            curl_setopt($curlhandle, CURLOPT_URL, "https://api.foursquare.com/v2/venues/4b522afaf964a5200b6d27e3");
            curl_setopt($curlhandle, CURLOPT_RETURNTRANSFER, 1);

            $response = curl_exec($curlhandle);
            curl_close($curlhandle);

            $json = json_decode($response);
            foreach ($json->groups[0]->venues as $result)
            {
                echo $result->name.' - '.$result->address.' '.$result->city."<p />";
            }    

我做错了什么?我完全不熟悉PHP和Foursquare API,所以它可能是显而易见的。

4 个答案:

答案 0 :(得分:4)

您无需使用OAuth流进行身份验证即可获取场地信息,但您需要在API调用中添加客户端ID和客户端密钥。

因此,URL应该是:

"https://api.foursquare.com/v2/venues/4b522afaf964a5200b6d27e3?client_id=CLIENT_ID&client_secret=CLIENT_SECRET

答案 1 :(得分:0)

如果您转到获得此网址的网址,则需要对您的请求进行身份验证。

{"meta":{"code":400,"errorType":"invalid_auth","errorDetail":"Missing access credentials. See https:\/\/developer.foursquare.com\/docs\/oauth.html for details."},"response":{}}

所以我要说你需要通过以下方式进行身份验证:https://developer.foursquare.com/overview/auth.html

答案 2 :(得分:0)

这对我有用:(在Python上)

    url = 'https://api.foursquare.com/v2/venues/{0}'.format(self.placeid)

    params = dict(
        client_id=self.clientid,
        client_secret=self.clientsecret,
        v='20170801'
    )
    r = requests.get(url=url, params=params)

答案 3 :(得分:0)

在JavaScript中,URL应该为

`https://api.foursquare.com/v2/venues/${venue_id}?client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&v=20180323`

注意,我使用的是模板文字,不要忘记v=20180323,因为Foursquare API不再支持不传递版本参数的请求。当然,您可以修改版本号以保持更新。