Как использовать Foursquare API для получения информации о месте проведения - PullRequest
1 голос
/ 09 марта 2012

Поэтому я пытаюсь получить подробную информацию о конкретном месте, используя PHP.Вот мой код, который пытается использовать GET-запрос к API Foursquare, чтобы вернуть результаты, а затем обработать их как 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 и API Foursquare, так что это может быть что-то явно очевидное.

Ответы [ 4 ]

4 голосов
/ 09 марта 2012

Вам не нужно проходить аутентификацию, используя поток OAuth, чтобы получить информацию о месте проведения, но вам нужно добавить свой идентификатор клиента и секрет клиента в вызов API.

Итак, URL должен быть примерно таким:

"https://api.foursquare.com/v2/venues/4b522afaf964a5200b6d27e3?client_id=CLIENT_ID&client_secret=CLIENT_SECRET
0 голосов
/ 09 января 2019

В JavaScript URL должен быть

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

Обратите внимание, я использую литералы шаблона и не забываю v=20180323, потому что API Foursquare больше не поддерживает запросы, которые не передаются в параметре версии. Конечно, вы можете изменить номер версии, чтобы постоянно обновляться.

0 голосов
/ 23 октября 2017

Это сработало для меня: (на 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)
0 голосов
/ 09 марта 2012

Вам необходимо подтвердить подлинность вашего запроса, если вы перейдете по URL, который вы получите.

{"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

...