Ollie Hind
Ollie Hind

Reputation: 13

How to use the Foursquare API to get Venue Details

So I'm trying to get details of a specific venue using PHP. Here's my code that attempts to use a GET request to the Foursquare API to return results and then process them as JSON and display the name, address and city:

$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 />";
            }    

What am I doing wrong? I'm completely new to PHP and the Foursquare API so it could be something glaringly obvious.

Upvotes: 1

Views: 11575

Answers (4)

James Chang
James Chang

Reputation: 632

In JavaScript, the URL should be

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

Note, I am using template literals and don't forget v=20180323 because the Foursquare API no longer supports requests that do not pass in a version parameter. Of course, you can modify the version number to keep updated.

Upvotes: 1

Raul
Raul

Reputation: 61

This worked for me: (on 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)

Upvotes: 0

Martin
Martin

Reputation: 496

You don't need to authenticate using the OAuth flow to get venue information, but you do need to add your Client ID and Client Secret to the API call.

So, the URL should be something like:

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

Upvotes: 4

Waynn Lue
Waynn Lue

Reputation: 11375

You need to authenticate your request, if you go to the URL you get this.

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

So I'd say you need to authenticate by following this: https://developer.foursquare.com/overview/auth.html

Upvotes: 0

Related Questions