Api vk получить список друзей

Итак продолжаю я знакомится с VK API. Вот на этот раз пал мой взгляд на метод — friends.get. Итак, что мы имеем, почти все тоже самое, что и с получением информацией из своего пользователя, да кстати в этой теме я расскажу еще как я по этим пользователем получил информацию из их профиля. Конечно это предоставляется возможность в данном методе, но зачем?

Раз мы уже писали получение информации просто его чуть-чуть модернезируем и он будет работать для всех одинаково. Ну и затем после всего как мы составили все наши данные нам необходимо отослать запрос на сервер ВК API, затем получить ответ в нужном нам варианте (XML или JSON) и затем этот вариант разобрать и разместить как требуется. Сначала хотел бы сказать, что данный метод будет работать если только на данное приложение установлены права не меньше 2, то есть по умолчанию, где есть кнопка в моем приложении «Добавить приложение на свое страницу» я даю все права данному приложению, а Вы уже сами решаете какие ставить, какие нет.

Парсим данные вконтакте. Что такое API? Программируем на python. Как спарсить данные через API?

Параметры, которые передаются при данном методе — это

  • fields — поля, которые необходимо получать из профиля вашего друга, то есть теже самые, что и в получении информации из вашего профиля, по умолчанию только uid и ФИО.
  • name_case — это падеж, в котором выдавать ФИО (существуют nom-именительный, gen-родительный, dat-дательный,acc-винительный,ins-творительный,alb-предложный, по умолчанию nom).

Но я не буду получать все поля из профиля своих друзей, а просто получу id своих друзей, а затем по выбранному id я буду получать информацию о нем, в той процедуре, где я получал информацию о себе.

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

procedure TForm1.Button5Click(Sender: TObject); label met; var PostVK:TStringList; sig:string; begin try PostVK:=TStringList.Create; sig:=Pchar(Form1.LabelMid.Caption)+’api_id=1918788fields=photo_big,sexformat=XMLmethod=friends.getv=3.0’+Pchar(Form1.LabelSecret.Caption); sig:=md5(sig); PostVK.Add(‘api_id=1918788’); PostVK.Add(‘method=friends.get’); PostVK.Add(‘sig=’+sig); PostVK.Add(‘v=3.0’); PostVK.Add(‘format=XML’); PostVK.Add(‘fields=photo_big,sex’); PostVK.Add(‘sid=’+Pchar(Form1.LabelSid.Caption)); logVK:=IdHTTP1.Post(‘http://api.vkontakte.ru/api.php’,PostVK); PostVK.Free; met: if pos(»,logVK)<>0 then begin ListBox1.Items.Add(Pars(logVK,’,»,0)); Delete(logVK,1,pos(»,logVK)); goto met; end; except on e:Exception do PostVK.Free; end; end;

Естественно перед тем, как получить id ваших всех друзей, необходимо получить данные сессии, затем как всегда получаем sig — идентификатор безопасности, как его получить я рассказывал, а также поменял просто на новый метод, то есть friends.get. Дальше я почему-то решил использовать метки, чтобы из всего ответа от сервера получить список id всех ваших друзей. Далее как только находится id я его добавляю в TListBox, затем по нажатию на TListBox id отображается в TEdit, что размещен на вкладке «Профиль«, затем если нажать на кнопку «Посмотреть«, то появится краткая информация его профиля, ее можно расширить добавлением в запрос новых полей. Процедуру Execute потока, который получает у нас информацию из профиля на сервере VK, я изменил следующим образом

Vkontakte API Python | Как работать с методами?

То есть добавил только то, чтобы id брался из TEdit. Ну что, теперь Вы спокойно можете писать для себя уже небольшие приложения, чем дальше, тем интереснее, дальше на очереди добавление данной функции в модуль VK_API, которая будет возвращать id друзей в одной строке, разделенными запятой.

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

Исходники статьи качаем тут

Автор статьи — Andrey53

Похожие записи

  • Проект VK API в Delphi. Обновлен модуль VK_API #2
  • Проект VK API в Delphi. Модуль VK_API обновлен
  • Проект VK API в Delphi. Отправка сообщений
  • Проект VK API в Delphi. Получение списка сообщений
  • Проект VK API в Delphi. Модуль VK_API

Источник: zaokomtek.ru

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

vk_api_example / getFriends.py /

Code definitions
Code navigation index up-to-date

  • Go to file T
  • Go to line L
  • Go to definition R
  • Copy path
  • Copy permalink

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Cannot retrieve contributors at this time
56 lines (39 sloc) 1.39 KB

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Copy raw contents

Copy raw contents

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# TODO Получить список друзей из ВК
«»»
Консольное приложение Python 3.5
Простой пример получения списка друзей из ВК
Предполагается использовать в качестве модуля для других примеров.
«»»
import sys
import vk
import auth_vk
V = ‘9.95’
session = auth_vk . auth_vk_token ()
api = vk . API ( session , v = V )
def get_friends ( user_id ):
return api . friends . get ( user_id = user_id )[ ‘items’ ]
def get_friends_from ( user_id , city_id ):
friends_from = []
friends = api . friends . get ( user_id = user_id , fields = ‘city’ )[ ‘items’ ]
for friend in friends :
if ‘city’ in friend and friend [ ‘city’ ][ ‘id’ ] == city_id :
friends_from . append ( friend [ ‘id’ ])
return friends_from
def main ():
if len ( sys . argv ) > 1 :
user_id = sys . argv [ 1 ]
else :
user_id = 0 # ID пользователя, который авторизовался в программе
friends = get_friends ( user_id )
print ( ‘user_id’ ) # Выводим заголовок
for friend in friends :
print ( friend )
friends = get_friends_from ( user_id , 1 )
print ( ‘user_id’ ) # Выводим заголовок
for friend in friends :
print ( friend )
pass
if __name__ == «__main__» :
main ()
  • Copy lines
  • Copy permalink
  • View git blame
  • Reference in new issue

Источник: github.com

Как создать приложение для контакта (ВКонтакте). Первый запрос — как получить список друзей

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

Зайдите в свой аккаунт вконтакте. В самом низу страницы нажмите на ссылку «разработчикам», ну а там уже нажмите на кнопку «Создать приложение» и следуйте инструкциям, только не забудьте выбрать Flash/IFrame приложение.

Еще по теме:  Как посмотреть в опросе Вконтакте кто за что проголосовал в опросе

Теперь займёмся написание самого приложения. Запустите Adobe Flash, я использую Flash CS5, но принципиальных отличий от CS4 нет. Создайте пустое приложение ActionScript 3.0 (File->New->ActionScript3.0->OK)

Хочу оговориться, что в этой статье код будем размещать в кадре, так как он не большой, но вообще в ActionScript 3.0 код всегда следует размещать в отдельных файлах.

И так, сейчас у нас чистый слой. Создадим на нём 2 динамических текстовых поля и кнопку. В одно текстовое поле будут выводиться id друзей а в другое их имена и фамилии, при нажатии на кнопку будет отправляться запрос. Instance Name для текстовых полей id_output и name_output соответственно и для кнопки go_button. Instance Name – это имена переменных, через которые мы будем обращаться к элементам сцены в коде.

Теперь всё готово, чтобы написать первые строки кода. Выберите первый (и единственный) кадр нашей сцены и нажмите F9, откроется редактор ActionScript.

Не забывайте, что код мы будем писать самостоятельно, поэтому убедитесь, что отключен упрощенный режим редактора. Кроме того для удобства можете скрыть левую панель с операторами, так как она нам не нужна. Редактор должен выглядеть вот так:

Теперь всё готово, чтобы написать первые строки кода. Выберите первый (и единственный) кадр нашей сцены и нажмите F9, откроется редактор ActionScript.Не забывайте, что код мы будем писать самостоятельно, поэтому убедитесь, что отключен упрощенный режим редактора. Кроме того для удобства можете скрыть левую панель с операторами, так как она нам не нужна. Редактор должен выглядеть вот так:

Сейчас мы должны сохранить наше приложение. Создайте для него отдельную папку и сохраните его туда, например D : VKAPI GetFriends GetFrinds . fla

Для начала нам понадобится подключить все необходимые библиотеки. В этом приложении понадобится только библиотека MD 5, зачем она нужна расскажу немного ниже. Но дело в том, что Flash не включает в себя эту библиотеку и нам придётся использовать стороннюю, не проблема, скачать её можно по этой ссылке.

Создайте в папке, куда вы сохранили приложение новую папку libs (имя можете выбрать другое) и закиньте в неё скачанный файл MD 5. as .

Теперь пишем первую строчку кода:

import libs.MD5;

Таким образом мы подключили библиотеку MD 5.

Далее нам нужно объявить все необходимые переменные:

var URLLoad:URLLoader = new URLLoader(); // загрузчик для загрузки id var URLLoad_names:URLLoader = new URLLoader(); // загрузчик для загрузки имён var XMLdata:XML; //в эту переменную будет сохраняться ответ сервера в формате XML var v:URLVariables = new URLVariables(); //в этой переменной будут храниться данные, которые мы отправляем на сервер контакта var API_ID:String = «********»; //id вашего приложения var VIEWER_ID:String = «*******»; //id пользователя, который просматривает приложение. Данная переменная должна браться из переменных браузера flash_vars либо из контейнера контакта, но сейчас просто впишите в неё свой id var API_SECRET:String = «APFFhywt9K»; //секретный код, его можно просмотреть на странице настроек приложения в контакте var API_URL:String = «http://api.vkontakte.ru/api.php»; //адрес скрипта, которому мы будем отправлять запросы var TEST_MODE:String = «1»; //режим тестирования, 1 – включен, 0 – отключён.

Теперь нужно назначить слушателя для нашей кнопки, чтобы реагировать на её нажатие, так и делаем:

go_button.addEventListener(MouseEvent.CLICK, ButtonGO); Теперь напишем саму функцию ButtonGO: function ButtonGO(e:MouseEvent):void < var sig = MD5.encrypt(VIEWER_ID+»api_id=»+API_ID+»method=getFriendstest_mode=»+TEST_MODE+»v=2.0″+API_SECRET); //вот тут то нам и пригодилась библиотека MD5. Дело в том, что одним из требований ВКонтакте API является наличие в запросе контрольной суммы всех переменных запроса, упорядоченных в алфавитном порядке и закодированных по алгоритму MD5, это нужно для защиты запросов от перехватов и изменения. var URLReq:URLRequest = new URLRequest(API_URL); //создаём новый запрос и инициализируем его адресом скрипта контакта //Далее создаём все переменные, которые нужны для запроса v.api_id = API_ID; v.v = «2.0»; v.method = «getFriends»; //здесь указываем какой метод мы используем, так как в данный момент нам нужно получить список id всех наших друзей, то используем метод getFriends v.test_mode = TEST_MODE; v.sig = sig; URLReq.data = v; //Добавляем все созданные переменные запросу URLReq.method = URLRequestMethod.POST; //Указываем метод отправки запроса URLLoad.load(URLReq); //Отправляем запрос на сервер URLLoad.addEventListener(Event.COMPLETE,OnLoadId); //добавляем слушателя, который отслеживает ответ с сервера и когда тот приходит вызывает функцию OnLoadId >

Еще по теме:  Сколько стоит один голос ВК

И так, мы отослали запрос серверу и получили от него ответ. Теперь нам нужно его обработать, чем и занимается функция OnLoadId , давайте её напишем:

function OnLoadId(e:Event):void < var uids:String = «»; //в эту переменную мы сохраним все idдрузей, чтобы потом с их помощью узнать их имена и фамилии XMLdata = new XML(URLLoad.data); //сохраняем пришедший с сервера ответ в XML переменную var len:Number = XMLdata.uid.length(); //узнаём, сколько же у нас друзей, то есть сколько id пришло с сервера в его ответе // Запускаем цикл, который перебирает все пришедшие id и выводит их в нужное текстовое поле, кроме того формируется строка из этих id разделённых запятыми for(var i_Number=0;i id друзей уже выведены, теперь осталось узнать их имена и фамилии. Для этого существует метод getProfiles, с помощью которого можно узнать любую информацию о пользователе, но нас сейчас интересуют только имя и фамилия, но вы можете добавить свои поля, посмотрев их список в описании этого метода здесь
var fields:String = «first_name,last_name»; // вот именно те поля, которые мы хотим узнать var sig = MD5.encrypt(VIEWER_ID+»api_id=»+API_ID+»fields=»+fields+»method=getProfilestest_mode=»+TEST_MODE+»uids=»+uids+»v=2.0″+API_SECRET); var URLReq:URLRequest = new URLRequest(API_URL); v.api_id = API_ID; v.v = «2.0»; v.method = «getProfiles»; v.test_mode = TEST_MODE; v.sig = sig; //Как видите ниже для метода getProfile добавились ещё 2 переменные v.uids = uids; v.fields = fields; URLReq.data = v; URLReq.method = URLRequestMethod.POST; URLLoad_names.load(URLReq); URLLoad_names.addEventListener(Event.COMPLETE,OnLoadNames); >

Теперь осталось лишь вывести имена и фамилии на экран, чем и займётся функция OnLoadNames , в ней нет ничего сложного, она просто перебирает XML данные и выводит их в текстовое поле:

function OnLoadNames(e:Event):void < XMLdata = new XML(URLLoad_names.data); var len:Number = XMLdata.user.length(); for(var i_Number=0;i Вот и всё, в итоге, мы получили наше первое приложение, которое использует ВКонтакте API:

В следующие разы мы будем оформлять все функции API в отдельную библиотеку и будем просто подключать её к нужному приложению, но для первого раза, чтобы хоть немного разобраться как всё работает, я думаю, достаточно. Обязательно читайте официальную документацию по ВКонтакте API. В конце приведу ещё раз код приложения полностью:
import libs.MD5; var URLLoad:URLLoader = new URLLoader(); var URLLoad_names:URLLoader = new URLLoader(); var XMLdata:XML; var API_ID:String = «1833756»; var VIEWER_ID:String = «9060138»; var API_SECRET:String = «APFFhywt9K»; var API_URL:String = «http://api.vkontakte.ru/api.php»; var TEST_MODE:String = «1»; var v:URLVariables = new URLVariables(); URLLoad.addEventListener(Event.COMPLETE,OnLoadId); go_button.addEventListener(MouseEvent.CLICK, ButtonGO); function OnLoadId(e:Event):void < var uids:String = «»; XMLdata = new XML(URLLoad.data); trace(XMLdata); var len:Number = XMLdata.uid.length(); for(var i_Number=0;i На сегодня всё, всем хорошего настроения, удачи ! Видео, которое всегда поднимает настроение =) [youtube]http://www.youtube.com/watch?v=S1ZZreXEqSY[/youtube]

На сайте WATCHESHOP вы можете купить часы в москве

Источник: comphobby.ru

Рейтинг
( Пока оценок нет )
Загрузка ...