ГеоКонтакт API
07.11Введение
ГеоКонтакт API — интерфейс передачи сторонним ресурсам данных о местоположении пользователя системы ГеоКонтакт.
Условия использования
Использование ГеоКонтакт API означает согласие с политикой пользования сервисом, представленной в Пользовательском соглашении. При несоблюдении условий Соглашения ГеоКонтакт оставляет за собой право препятствовать использованию данного интерфейса в рамках определенного ресурса и/или сервиса.
Специфика
Передача данных на сервер основывается на HTTP/1.1 GET-запросах, формат получения данных с сервера — XML 1.0. Кодировка XML — UTF8.
Передача и получение данных без авторизации
Передача запроса: GET http://xml01.geokontakt.ru/?id=$id
где $id (int) — идентификатор пользователя. Пользователи могут узнать свой id в профиле на сайте ГеоКонтакт.
Ответ сервера:
<?xml version="1.0" encoding="utf-8"?>
<user>
<name>Имя пользователя</name>
<location>Местоположение пользователя</location>
<avatar_url>Ссылка на аватар пользователя</avatar_url>
<url>Ссылка на карту с отмеченным местоположением пользователя</url>
</user>
В случае, если пользователь отказался открыто предоставлять сведения о своем местоположении, сервер вернет следующий ответ:
<?xml version="1.0" encoding="utf-8"?>
<user>
<url>http://www.geokontakt.ru/</url>
</user>
Передача и получение данных с авторизацией
Передача запроса: GET http://xml01.geokontakt.ru/?email=$email&password=$hash
где $email (str) — E-mail пользователя, $hash — MD5(пароль).
Ответ сервера:
<?xml version="1.0" encoding="utf-8"?>
<user>
<name>Имя пользователя</name>
<location>Местоположение пользователя</location>
<avatar_url>Ссылка на аватар пользователя</avatar_url>
<url>Ссылка на карту с отмеченным местоположением пользователя</url>
<groups>
<group>
<title>Название группы</title>
<scope>Область видимости группы (0 — общедоступная, 1 — закрытая)</scope>
<location>Географические предпочтения группы</location>
<avatar_url>Ссылка на аватар группы</avatar_url>
<user>
<user_id>Идентификатор пользователя (int)</user_id>
<name>Имя пользователя</name>
<address>Местоположение пользователя</address>
</user>
[<user>...</user>]
</group>
[<group>...</group>]
</groups>
</user>
В случае, если пользователь отказался открыто предоставлять сведения о своем местоположении, сервер вернет следующий ответ:
<?xml version="1.0" encoding="utf-8"?>
<user>
<url>http://www.geokontakt.ru/</url>
</user>
Пример использования
Исходный код для flash-виджета без авторизации может скачать любой желающий :)
Результат работы виджета показан ниже. Обращаем ваше внимение, что этот демо-флеш показывает реальное местоположение нашего сотрудника. Поэтому если он ограничивает доступ к просмотру, то его местоположение не отображается.

