Конечная точка для статистики места (регистрации) без авторизации - PullRequest
1 голос
/ 03 января 2012

Я создаю «виджет социальных сетей» для веб-сайта работы. Сейчас я добавляю в него Foursquare и хотел бы использовать API Foursquare для отображения всех чеков и подсказок, оставленных в наших 29 местах. Мне не нужны никакие пользовательские данные, но когда я просматриваю страницы конечной точки на сайте разработчика и выбираю API платформы места проведения, он затеняет конечную точку статистики. Конечная точка подсказок в порядке, хотя это не проблема.

Есть ли способ получить доступ к количеству проверок на месте, не пройдя авторизацию? Мне просто нужно количество проверок.

Спасибо, Colin

Ответы [ 3 ]

1 голос
/ 03 января 2012

Вам знакома платформа Foursquare Venues ? Эта относительно новая часть API поддерживает запрос базы данных объекта без «действующего пользователя». Конечно, вам все равно придется зарегистрировать свое приложение в Foursquare.

Но небольшой совет: если вы запросите данные «здесь и сейчас» из Foursquare без «действующего пользователя», вы увидите только первую букву имени и фамилию. (Так называются "C. Wren" или "G. Horck"). Если вы используете «личную» учетную запись, вы можете увидеть полное имя людей, с которыми вы дружите. В зависимости от размера вашей организации было бы здорово отметить всех коллег как друзей, чтобы вы могли отображать больше информации о людях.

Обновление:

Некоторые другие данные, такие как конечная точка /stats, доступны только владельцам объектов. Единственный способ доказать это - это пройти аутентификацию как владелец, поэтому в этом случае вы должны получить access_token для владельца места. Боюсь, вы не можете обойти это.

0 голосов
/ 05 июня 2013

Я как раз собирался повторить этот вопрос, потому что ответы меня не удовлетворяют.Действительно, ответы сфокусированы на статистике, которая была бы очень полезна, но ориентирована на менеджера.

Количество заездов легко получить, но оно является частью объекта места проведения.Так что вам просто нужно искать детали места с его идентификатором (https://developer.foursquare.com/docs/venues/venues), чтобы получить количество проверок.

Вполне логично, но если это поможет потерянному разработчику пройти мимо :)

0 голосов
/ 04 января 2012

Теперь я успешно смог получить необходимые данные.Я использовал конечную точку /venues/ с идентификатором мест, которыми владеем «мы».Затем я связал их в /multi/ запрос конечной точки (я использовал массив вызовов, чтобы преодолеть ограничение в 5 запросов).Мой код jQuery приведен ниже (я на классическом сервере ASP и без загрузки других библиотек не могу использовать JSON).

var endpoint = "https://api.foursquare.com/v2/multi?requests=";
var numbers = new Array();
numbers[0] ="/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID]";
numbers[1] = "/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID]";
numbers[2] = "/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID]";
numbers[3] = "/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID],/venues/[VENUE ID]";
numbers[4] = "/venues/[VENUE ID],/venues/[VENUE ID]";
var auth_string = "&client_id=[CLIENT ID]&client_secret=[CLIENT SECRET]&v=[DATE in YYYYMMDD]";
    var checkins = 0;
    var tips = 0;
    $.each(numbers,function(index,value) {
        $.getJSON(endpoint + numbers[index] + auth_string,function(json){
            $.each(json.response.responses,function(index){
                checkins = checkins + json.response.responses[index].response.venue.stats.checkinsCount;
                tips = tips + json.response.responses[index].response.venue.stats.tipCount;
            });
            $("#foursq #checkins").html("Checkins: " + checkins + "<br />");
            $("#foursq #tips").html("Tips: " + tips);
        });
    });

Это в основном просто циклически проходит через все места, собирает статистику для checkinsCount и tipCount изатем добавляет их к общему количеству.Затем он печатает их в любом месте, где вы хотите отобразить.Я обнаружил проблему со счетчиком, хотя если вы не выводите значения вне цикла getJSON, он становится равным 0.

Надеюсь, это поможет кому-то еще сделать нечто подобное

...