Урок 6: Как выполнить запрос к API — Онлайн-курсы Яндекса

.

Разработка 30-11-2016, 11:52 0 557

Что такое API и как с этим работать?

Простые пользователи и программисты часто задаются вопросом, что такое API и как с этим работать. Пользуются им обычно в профессиональных целях, но некоторые люди занимаются любительским изучением сервиса, считая это как минимум интересным и чем-то полезным. Разработка действительно ориентирована на то, чтобы облегчать программистам работу, однако, без специализированного образования или частных знаний терминологии и принципе работы подобных расширений, разобраться в информационной конструкции будет тяжело. Наша статья поможет вам обрести базовые знания об этом продукте, а также некоторую интересную информацию простым языком, чтобы каждый смог понять принцип работы и особенности ЭйПиАй. Для вашего удобства, информация будет разделена на блоки: так будет легче ориентироваться.

Понятие аббревиатуры

Что такое API и как с этим работать? Начнем с первой части вопроса, а чтобы не упустить ни одной детали, для начала расшифруем само обозначение данного инструмента. В переводе с английского языка оно дословно означает «интерфейс для программирования приложений»: это, в общем то, словосочетание и означает, если вы в курсе о значении каждого состоящего здесь слова. Во избежание недопонимания, лучше, конечно же, рассмотреть значение более детально, а не останавливаться на этом.

В первую очередь, это интерфейс: инструмент, позволяющий программистам использовать в работе уже готовые модули и блоки для того, чтобы быстрее сконструировать то или иное приложение. Сейчас такая система очень популярна, так как она считается самой удобной, и не только для новичков, а еще и для опытных профессионалов. С ее помощью можно сохранить драгоценное время, а также избавить себя от муторных однотипных манипуляций, в ходе которых могут возникнуть ошибки из-за случайной невнимательности.

Чем удобен?

Если говорить о веб-приложениях, то программа лучше всего подойдет для разработки собственных проектов: написание кодов и ссылок может происходить в нестандартном формате, что позволяет задействовать хорошую фантазию и открывает широкую площадку совместимости с серьезными сервисами. Это действует даже с общедоступными сторонними системами подобного типа – как минимум, вам будет доступна обработка файлов в двух разных форматах, хотя и относительно типичных. Обычно, эти варианты противоречивы друг другу или скомбинированы в одном месте таким образом, чтобы вы могли получить максимальную пользу хотя бы из одного из них. Например, если вам для работы нужен самый простой интерфейс, легкость в чтении и прочие факторы, направленные на ускоренность процесса, следует выбрать JSON – для этих целей он подойдет идеально. XML же является форматом посложнее, но он окажется более привычным для тех, кто ни раз уже выполнял похожие манипуляции за свою профессиональную карьеру.

Примеры веб-приложений с данным компонентом

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

Сторонние АПИ используют как новички, так и опытные работники в сфере, так как это очень удобно и не требует лишних затрат времени. Кроме того, есть еще некоторые полезные качества, которые и привлекают программистов к тому, чтобы задействовать в своей работе чужой компонент данного типа.

Как правильно работать с REST API

Например, если речь идет об API популярных сервисов, таких, как Твиттер, или Вконтакте – здесь можно говорить о полной уверенности в качественной работе инструмента. Кроме того, многие пользователи активно пользуются этими приложениями, а значит, к их функционированию они привыкли. Это не значит, что взять чужой код достаточно, чтобы сотворить востребованный проект, но такой ход позволяет обрести несколько положительных качеств, которые будут удобны не только разработчикам с администраторами, но и потенциальным клиентам.

Как работать с АПИ на примере приложения ВКонтакте

Разработчики идут навстречу таким программистам, что собираются использовать их API, и поэтому предоставляют инструкции, по которым им было бы легко всем этим заниматься. Помимо них, существуют и разъяснительные статьи, объясняющий, раз работает та или иная функция компонента, каковы ее достоинства или недостатки.

Особенности работы с API:

  • Так как это авторская разработка, потребуется проделать некоторые манипуляции ля получения прав доступа. Обычно, в зависимости от метода получения ключа доступа, с программиста просто потребуется авторизация на сайте или в приложении. Также необходимо будет передать ключ доступа, которые представляет собой набор цифр и латинских символов (обычно присваивается отдельно пользователю или организации);
  • Запросы выполняются в несколько этапов, и их еще разделяют на разные смысловые группы. Синтаксис запроса прост, а разработчики ВКонтакте предоставляют другим разработчикам развернутую информацию об этом. Помимо общих параметров, под которые будет необходимо подстраиваться, существуют еще собственные параметры приложения, так что информацию о них тоже придется изучить. Сервис предоставляет также рекомендации касательно отправления запросов и ограничения: если последние не соблюдать, получить доступ к API не получится;
  • АПИ этого приложения позволят разработчикам и пользователям будущего продукта осуществлять загрузку файлов различного формата. В число таковых входят фотографии, видеозаписи, аудиозаписи, документы, а также распределение этих файлов по альбомам или их комбинирование для публикации в одной записи;
  • Поддерживается общение (текстовое и в аудио-формате, а также передача различных файлов) между пользователями или администрацией.

У данного приложения есть несколько работающих версий. В зависимости от того, какую из них выбирает для работы разработчик, может меняться функционирование приложения, но не кардинально. Что такое API и как с этим работать в зависимости от версии можно узнать через специальную панель «разработчикам» на официальном ресурсе. Лучшей версии не существует, поэтому вы можете выбирать любую, в зависимости от планов на будущий проект.

Разместите свою ссылку за руб.

Решил сегодня немного по разнообразить с примерами API ВКонтакте. Думаю из данных примеров, Вы сможете найти для себя что то подходящие, ведь ситуации бывают разные и каждая из которых так или иначе решается по разному. Поэтому случаю, представляю Вам тему урока API ВКонтакте примеры.

 

Что же мы будем тут конкретно рассматривать? Да, пожалуй, немного пройдемся по сообществам, потом можно будет пару слов сказать уже про пользователей. В общем, приступаем!

 

Первый пример. Кто онлайн в сообществе?

 

Если перейти по данной ссылке с GET параметрами, то Вы можете узнать кто сейчас онлайн в в нашем с Вами сообществе iRootHelp. Работает все очень просто. В group_id вы указываете свое сообщество (можно идентификатор сообщества), а также выбираете поле fields и указывается ему значение онлайн.

Что такое API и как с этим работать?

Собирается массив из четырех полей и одного поля количества пользователей в сообществе, где: 

 

  • count — количество пользователей в сообществе
  • uid — идентификатор пользователя
  • first_name — имя пользователя
  • last_name — фамилия пользователя
  • online — поле онлайн (0 — оффлайн, 1 — онлайн)

 

https://api.vk.com/method/groups.getMembers?group_id=iroothelp&fields=online

 

Второй пример. Выбор главной фотографии профиля пользователя.

 

К примеру, нам нужно выбрать главную фотографию конкретного пользователя. Тогда можно использовать данный API запрос. При получении ответа, копируем ту строку, что идет после http.

 

https://api.vkontakte.ru/method/getProfiles?uids=7673899&fields=photo

 

 

Третий пример.  Сбор всех идентификаторов пользователей в указанном сообществе.

 

К примеру, Вам нужно собрать все идентификаторы uid пользователей, которые находятся в определенном сообществе, допустим, в нашем с Вами сообществе iRootHelp. Делается это очень просто. Кстати, подобный API запрос, мы рассматривали с Вами в предыдущем материале скрипт проверки пользователя в сообществе ВКонтакте.

Помимо запроса, там я наглядно показывал и рассказывал, как можно посредством JSON формата, разобрать все по частям.

 

https://api.vk.com/method/groups.getMembers?group_id=iroothelp

 

 

Четвертый пример.

 

Теперь, давайте, выведем все последние пять записей нашего сообщества iRootHelp. В массиве мы получим: отправителя, дату, название, текст, большую и маленькую картинки, их размеры. В поле fields мы подставляем с Вами все записи на стене сообщества, далее в поле domain указываем адрес сообщества и в последнем поле count указываем количество выводимых записей, в данном случае, оно равно пяти последним записям.

 

https://api.vk.com/method/wall.get?filter=all&domain=iroothelp&count=5

 

Пожалуй, на этом все, так как говорить про все примеры API ВКонтакте, будет очень долго и не имеет никакого смысла, все можно посмотреть в документации. Данный материал, носит характер ознакомления с данной темой. Если же у Вас имеются какие то вопросы или не можете решить задачу, — пишите, постараюсь помочь! Всем удачи!)


Роман Краутер

Проект фактически представляет собой онлайн хранилище свободно распространяемого программного кода. Свои разработки здесь могут размещать все желающие, а доступ к проектам можно получить всем пользователям с любой точки мира.

  • Все новости поделены на категории. Выбирайте ту которая вам ближе всего.

Open API ВКонтакте

Open API — система для разработчиков сторонних сайтов, которая предоставляет возможность легко авторизовывать пользователей ВКонтакте на Вашем сайте.

Кроме этого, с согласия пользователей, вы сможете получить доступ к их друзьям, фотографиям, аудиозаписям, видеороликам, объявлениям и прочей информации ВКонтакте для более глубокой интеграции с Вашим проектом.

В рамках подключения к Open API создается специальное приложение, которое позволяет использовать на Вашем сайте все текущие методы ВКонтакте API. Помимо этого, Open API предоставляет возможность упростить процесс регистрации новых пользователей на Вашем сайте, если у них уже есть учетная запись ВКонтакте.

В этом уроке вы узнаете, как вывести на своём сайте информацию об авторизованном пользователе социальной сети ВКонтакте.

Этот пример показывает, как начать работать с Open API.
Для того чтобы использовать авторизацию на своём сайте, вам придется доработать этот пример. Для этого вам понадобятся знания JavaScript и, скорее всего, ещё и PHP.

Подключение сайта к платформе Open API

1. Создаем новое или берем уже созданное приложение.
2. Изменяем настройки приложения

Редактирование -> Open API
Адрес сайта — вводим адрес сайта, к которому будете подключать Open API (например, http://flapps.ru/)
Базовый домен – базовый домен Вашего сайта (например, flapps.ru)

3. Создаём файл xd_receiver.html с таким содержимым

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Open API XD Receiver</title> </head> <body> <script src="http://vkontakte.ru/js/api/xd_receiver.js" type="text/javascript"></script> </body> </html>

4. Создаём файл openapi_lib.js

var vk_members_data = {}, lastCommentsResponse, lastCommentsPage = null, baseURL = window.location.protocol + ‘//’ + window.location.hostname + ‘/’; // функция для вывода полученной информации function ge() { var ea; for (var i = 0; i < arguments.length; i++) { var e = arguments[i]; if (typeof e == ‘string’) e = document.getElementById(e); if (arguments.length == 1) return e; if (!ea) ea = new Array(); ea.push(e); } return ea; } function array_unique(ar){ if (ar.length && typeof ar !== ‘string’) { var sorter = {}; var out = []; for (var i=0, j=ar.length; i<j; i++) { if(!sorter[ar[i]+typeof ar[i]]){ out.push(ar[i]); sorter[ar[i]+typeof ar[i]]=true; } } } return out || ar; } // функция авторизации function doLogin() { VK.Auth.login( null, VK.access.FRIENDS | VK.access.WIKI // запрашиваем доступ к друзьям и вики ); } // функция выхода function doLogout() { VK.Auth.logout(logoutOpenAPI); } function logoutOpenAPI() { window.location = baseURL; }

5. Создаём файл openapi_code.js

window.onload = function() { // когда вся страница загрузиться // инициализируем "приложение" window.vkAsyncInit = function() { VK.init({ apiId: 1728947, // заменяем на id своего приложения nameTransportPath: ‘/vkopenapi/xd_receiver.html’ // заменяем на ссылку к файлу xd_receiver.html на вашем сервере }); }; (function() { var el = document.createElement(‘script’); el.type = ‘text/javascript’; el.src = ‘http://vkontakte.ru/js/api/openapi.js’; el.charset="windows-1251"; el.async = true; document.getElementById(‘vk_api_transport’).appendChild(el); }()); } // получаем данные о пользователе.

HTML,API. Как работать с API?

id пользователя считываем из переменной 1280 function getInitData() { var code; code = ‘return {‘ code += ‘me: API.getProfiles({uids: API.getVariable({key: 1280}), fields: "photo"})[0]’; code += ‘};’; VK.Api.call(‘execute’, {‘code’: code}, onGetInitData); } // данные получены function onGetInitData(data) { var r; if (data.response) { r = data.response; if (r.me) { ge(‘openapi_user’).innerHTML = r.me.first_name + ‘ ‘ + r.me.last_name; ge(‘openapi_userlink’).href = ‘/id’ + r.me.uid; ge(‘openapi_userphoto’).src = r.me.photo; } } } // авторизуемся function loginOpenAPI(){ doLogin(); // и вызываем функцию getInitData() getInitData(); return false; }

6. Создаём файл openapi.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Open API flapps.ru</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > <script src="/vkopenapi/openapi_lib.js" charset="windows-1251"></script> <script src="/vkopenapi/openapi_code.js" charset="windows-1251"></script> </head> <body> <!— vk_api_transport необходим для работы с Open API —> <div id="vk_api_transport"></div> <!— кнопка входа —> <a href="#" id="vk_login" onclick="loginOpenAPI()">Войти</a> <!— блок, в котором будет выводиться информация о пользователе —> <div id="userinfo"> <a href="#" id="openapi_userlink"><img src="" id="openapi_userphoto" alt="img" /></a> </div> <div id="message">Привет, <span id="openapi_user">Пользователь!</span></div> <!— ссылка для выхода —> <div id="logout"><a href="#" onclick="doLogout()">Выйти</a></div> <a href="http://flapps.ru/forum">Форум Вконтакте API</a> </body> </html>

Заменяем ссылки к файлам на свои

<script src="/vkopenapi/openapi_lib.js" charset="windows-1251"></script> <script src="/vkopenapi/openapi_code.js" charset="windows-1251"></script>
7. Загружаем файлы на сервер.

Загрузить можно в любой каталог. Не забудьте прописать правильные пути к файлам.
В файле openapi.html — пути к openapi_code.js и openapi_lib.js
И в файле openapi_code.js — к файлу xd_receiver.html
8. Всё готово.

Заходите на свой сайт. Открывайте файл openapi.html

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *