Вконтакте апи: ВКонтакте API – Пишем для VK / Хабр

Содержание

часть 1, выгружаем все фото из альбома

Этой статьей мы открываем небольшую серию материалов по VK API. Все что вам понадобится для работы – базовые знания Python.

Для работы мы будем использовать Python третьей версии и модуль VK для работы c api вконтакте. Установить модуль можно через pip:

# Windows
pip3 install vk
# Debian-based linux
sudo pip3 install vk

На *nix системах могут возникнуть проблемы с установкой через pip, поэтому вот еще один способ установки. Скачайте исходники, положите их в удобный каталог и исполните в терминале:

python3 setup.py build
sudo python3 setup.py install

Чтобы не нагружать код сторонними библиотеками, для загрузки фото будем использовать базовую urllib.

Для начала залогинимся.

# Импортируем нужные модули
from urllib.request import urlretrieve
import vk, os, time, math

# Авторизация

login = ''
password = ''
vk_id = 'ID_ВАШЕГО_ПРИЛОЖЕНИЯ'

session = vk.AuthSession(app_id=vk_id, user_login=login, user_password=password) 

vkapi = vk.API(session)

Учтите, что для работы с VK API одного только модуля для питона недостаточно, нужно создать еще и приложение на самом сайте.

Для удобства, входными данными будут ссылки на альбомы. Только целиком url не подойдет, нам понадобится id хозяина альбома (группы или человека) и id самого альбома, которые и можно достать из ссылки. К примеру, в https://vk.com/album-54530371_212428070 id владельца (в данном случае сообщества) это -54530371, а id альбома – 212428070. Обратите внимание, если загружать из альбома сообщества, то "-" (дефис) перед id владельца обязателен.

url = input("Введите url альбома: ")
# Разбираем ссылку
album_id = url.split('/')[-1].split('_')[1]
owner_id = url.split('/')[-1].split('_')[0].replace('album', '')

Как вы поняли, мы получаем на вход ссылку на альбом, затем разбираем ее и раскладываем по переменным album_id и owner_id соответствующие id.

Теперь нужно получить количество фото, а также инициализировать переменные для статитстики.

photos_count = vkapi.photos.getAlbums(owner_id=owner_id, album_ids=album_id)[0][‘size’]

counter = 0 # текущий счетчик
prog = 0 # процент загруженных
breaked = 0 # не загружено из-за ошибки
time_now = time.time() # время старта

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

Процесс загрузки:

# Создадим каталоги
if not os.path.exists('saved'):
    os.mkdir('saved')
photo_folder = 'saved/album{0}_{1}'.format(owner_id, album_id)
if not os.path.exists(photo_folder):
    os.mkdir(photo_folder)

for j in range(math.ceil(photos_count / 1000)): # Подсчитаем сколько раз нужно получать список фото, так как число получится не целое - округляем в большую сторону
    photos = vkapi.photos.get(owner_id=owner_id, album_id=album_id, count=1000, offset=j*1000) # Получаем список фото
    for photo in photos:
        counter += 1
        url = photo[‘src_big’] # Получаем адрес изображения
        print('Загружаю фото № {} из {}. Прогресс: {} %'.format(counter, photos_count, prog))
        prog = round(100/photos_count*counter,2)
        try:
            urlretrieve(url, photo_folder + "/" + os.path.split(url)[1]) # Загружаем и сохраняем файл
        except Exception:
            print('Произошла ошибка, файл пропущен.')
            breaked += 1
            continue

И немного статитстики:

time_for_dw = time.time() - time_now
print("\nВ очереди было {} файлов. Из них удачно загружено {} файлов, {} не удалось загрузить. Затрачено времени: {} сек.". format(photos_count, photos_count-breaked, breaked, round(time_for_dw,1)))

На этом все! В следующем туториале напишем небольшой скрипт для слежки за пользователем.

VKNET ВКонтакте API для .NET (C#) -- https://vknet.github.io/vk

Вконтакте API для .NET (C#)

Разработка проекта VkNet

Package Manager

PM> Install-Package VkNet

.NET CLI

> dotnet add package VkNet

Ниже приводятся все реализованные методы для работы с данными ВКонтакте.

Авторизация

Authorize - авторизация на сервере вконтакте и получение AccessToken.

Пользователи

  • Users.Get - Возвращает расширенную информацию о пользователях.
  • Users.GetFollowers - Возвращает список идентификаторов пользователей, которые являются подписчиками пользователя.
  • Users.GetSubscriptions - Возвращает список идентификаторов пользователей и сообществ, которые входят в список подписок пользователя.
  • (Устаревший) Users.GetNearby - Индексирует текущее местоположение пользователя и возвращает список пользователей, которые находятся вблизи.
  • (Устаревший) Users.IsAppUser - Возвращает информацию о том, установил ли пользователь приложение.
  • Users.Report - Позволяет пожаловаться на пользователя.
  • Users.Search - Возвращает список пользователей в соответствии с заданным критерием поиска.

Друзья

  • Friends.Add - Одобряет или создает заявку на добавление в друзья.
  • Friends.AddList - Создает новый список друзей у текущего пользователя.
  • Friends.AreFriends - Возвращает информацию о том, добавлен ли текущий пользователь в друзья у указанных пользователей.
  • Friends.Delete - Удаляет пользователя из списка друзей или отклоняет заявку в друзья.
  • Friends.DeleteAllRequests - Отмечает все входящие заявки на добавление в друзья как просмотренные.
  • Friends.DeleteList - Удаляет существующий список друзей текущего пользователя.
  • Friends.Edit - Редактирует списки друзей для выбранного друга.
  • Friends.EditList - Редактирует существующий список друзей текущего пользователя.
  • Friends.Get - Возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра fields).
  • (Устаревший) Friends.GetAvailableForCall - Позволяет получить список идентификаторов пользователей, доступных для вызова в приложении, используя метод JSAPI callUser. Подробнее о схеме вызова из приложений.
  • Friends.GetAppUsers - Возвращает список идентификаторов друзей текущего пользователя, которые установили данное приложение.
  • Friends.GetByPhones - Возвращает список друзей пользователя, у которых завалидированные или указанные в профиле телефонные номера входят в заданный список.
  • Friends.GetLists - Возвращает список меток друзей текущего пользователя.
  • Friends.GetMutual - Возвращает список идентификаторов общих друзей между парой пользователей.
  • Friends.GetOnline - Возвращает список идентификаторов друзей пользователя, находящихся на сайте.
  • Friends.GetRecent - Возвращает список идентификаторов недавно добавленных друзей текущего пользователя
  • Friends.GetRequests - Возвращает информацию о полученных или отправленных заявках на добавление в друзья для текущего пользователя.
  • Friends.GetSuggestions - Возвращает список профилей пользователей, которые могут быть друзьями текущего пользователя.
  • Friends.Search - Позволяет искать по списку друзей пользователей.

Группы

  • Groups.addAddress - Позволяет добавить адрес в сообщество.
  • Groups.AddCallbackServer - !!Добавляет сервер для Callback API в сообщество.
  • Groups.AddLink - Позволяет добавлять ссылки в сообщество.
  • Groups.ApproveRequest - Позволяет одобрить заявку в группу от пользователя.
  • Groups.Ban - Добавляет пользователя в черный список сообщества.
  • Groups.Create - Создает новое сообщество.
  • Groups.DeleteAddress - Позволяет удалить адрес в сообществе.
  • Groups.DeleteCallbackServer - !!Удаляет сервер для Callback API из сообщества.
  • Groups.DeleteLink - Позволяет удалить ссылки из сообщества.
  • Groups.DisableOnline - !!Выключает статус «онлайн» в сообществе.
  • Groups.Edit - Редактирует сообщество.
  • Groups.EditAddress - Позволяет отредактировать адрес в сообществе.
  • Groups.EditCallbackServer - !!Редактирует данные сервера для Callback API в сообществе.
  • Groups.EditLink - Позволяет редактировать ссылки в сообществе.
  • Groups.EditManager - Позволяет назначить/разжаловать руководителя в сообществе или изменить уровень его полномочий.
  • Groups.EnableOnline - !!Включает статус «онлайн» в сообществе.
  • (Устаревший) Groups.EditPlace - Позволяет редактировать информацию о месте группы.
  • Groups.Get - Возвращает список сообществ указанного пользователя.
  • Groups.GetAddress - Позволяет отредактировать адрес в сообществе.
  • Groups.GetBanned - Возвращает список забаненных пользователей в сообществе.
  • Groups.GetById - Возвращает информацию о заданном сообществе или о нескольких сообществах.
  • Groups.GetCallbackConfirmationCode - Позволяет получить строку, необходимую для подтверждения адреса сервера в Callback API.
  • Groups.GetCallbackServers - !!Получает информацию о серверах для Callback API в сообществе.
  • Groups.GetCallbackSettings - !!Позволяет получить настройки уведомлений Callback API для сообщества.
  • Groups.GetCatalog - Возвращает список сообществ выбранной категории каталога.
  • Groups.GetCatalogInfo - Возвращает список категорий для каталога сообществ.
  • Groups.GetInvitedUsers - Возвращает список пользователей, которые были приглашены в группу.
  • Groups.GetInvites - Данный метод возвращает список приглашений в сообщества и встречи текущего пользователя.
  • Groups. GetLongPollServer - Возвращает данные для подключения к Bots Longpoll API.
  • Groups.GetLongPollSettings - !!Получает настройки Bots Longpoll API для сообщества.
  • Groups.GetMembers - Возвращает список участников сообщества.
  • Groups.GetOnlineStatus - !!Получает информацию о статусе «онлайн» в сообществе.
  • Groups.GetRequests - Возвращает список заявок на вступление в сообщество.
  • Groups.GetSettings - Позволяет получать данные, необходимые для отображения страницы редактирования данных сообщества.
  • Groups.GetTokenPermissions - !!Возвращает настройки прав для ключа доступа сообщества.
  • Groups.Invite - Позволяет приглашать друзей в группу.
  • Groups.IsMember - Возвращает информацию о том, является ли пользователь участником сообщества.
  • Groups.Join - Данный метод позволяет вступить в группу, публичную страницу, а также подтвердить участие во встрече.
  • Groups.Leave - Позволяет покинуть сообщество.
  • Groups.RemoveUser - Позволяет исключить пользователя из группы или отклонить заявку на вступление.
  • Groups.ReorderLink - Позволяет менять местоположение ссылки в списке.
  • Groups.Search - Осуществляет поиск сообществ по заданной подстроке.
  • Groups.SetCallbackSettings - !!Позволяет задать настройки уведомлений о событиях в Callback API.
  • Groups.SetLongPollSettings - !!Задаёт настройки для Bots Long Poll API в сообществе.
  • Groups.Unban - Убирает пользователя из черного списка сообщества.

Установка через Nuget

Package Manager

PM> Install-Package VkNet.AudioBypassService

.NET CLI

> dotnet add package VkNet.AudioBypassService
  • Audio.Get - Возвращает список аудиозаписей пользователя или сообщества.
  • Audio.GetById - Возвращает информацию об аудиозаписях.
  • Audio.GetLyrics - Возвращает текст аудиозаписи.
  • Audio.Search - Возвращает список аудиозаписей в соответствии с заданным критерием поиска.
  • Audio.GetUploadServer - Возвращает адрес сервера для загрузки аудиозаписей.
  • Audio.Save - Сохраняет аудиозаписи после успешной загрузки.
  • Audio.Add - Копирует аудиозапись на страницу пользователя или группы.
  • Audio.Delete - Удаляет аудиозапись со страницы пользователя или сообщества.
  • Audio.Edit - Редактирует данные аудиозаписи на странице пользователя или сообщества.
  • Audio.Reorder - Изменяет порядок аудиозаписи, перенося ее между аудиозаписями, идентификаторы которых переданы параметрами after и before.
  • Audio.Restore - Восстанавливает аудиозапись после удаления.
  • Audio.GetAlbums - Возвращает список альбомов аудиозаписей пользователя или группы.
  • Audio.AddAlbum - Создает пустой альбом аудиозаписей.
  • Audio.EditAlbum - Редактирует название альбома аудиозаписей.
  • Audio.DeleteAlbum - Удаляет альбом аудиозаписей.
  • Audio.MoveToAlbum - Перемещает аудиозаписи в альбом.
  • Audio.SetBroadcast - Транслирует аудиозапись в статус пользователю или сообществу.
  • Audio.GetBroadcastList - Возвращает список друзей и сообществ пользователя, которые транслируют музыку в статус.
  • Audio.GetRecommendations - Возвращает список рекомендуемых аудиозаписей на основе списка воспроизведения заданного пользователя или на основе одной выбранной аудиозаписи.
  • Audio.GetPopular - Возвращает список аудиозаписей из раздела “Популярное”.
  • Audio.GetCount - Возвращает количество аудиозаписей пользователя или сообщества.

Сообщения

  • Messages.AddChatUser - Добавляет в мультидиалог нового пользователя.
  • Messages.AllowMessagesFromGroup - !!Позволяет разрешить отправку сообщений от сообщества текущему пользователю.
  • Messages.CreateChat - Создаёт беседу с несколькими участниками.
  • Messages. Delete - Удаляет сообщение.
  • Messages.DeleteChatPhoto - Позволяет удалить фотографию мультидиалога.
  • Messages.DeleteConversation - Удаляет все личные сообщения в диалоге.
  • (Устаревший) Messages.DeleteDialog - Удаляет все личные сообщения в диалоге.
  • Messages.DenyMessagesFromGroup - !!Позволяет запретить отправку сообщений от сообщества текущему пользователю.
  • Messages.Edit - !!Редактирует сообщение.
  • Messages.EditChat - Изменяет название беседы.
  • (Устаревший) Messages.Get - Возвращает список входящих либо исходящих личных сообщений текущего пользователя.
  • Messages.GetByConversationMessageId - !!Возвращает сообщения по их идентификаторам в рамках беседы.
  • Messages.GetById - !!Возвращает сообщения по их идентификаторам в рамках беседы.
  • Messages.GetChat - Возвращает информацию о беседе.
  • (Устаревший) Messages.GetChatUsers - Позволяет получить список пользователей мультидиалога по его id.
  • Messages.GetChatPreview - !!Получает данные для превью чата с приглашением по ссылке.
  • Messages.GetConversationMembers - Позволяет получить список участников беседы.
  • Messages.GetConversations - Возвращает список бесед пользователя.
  • Messages.GetConversationsById - Возвращает список бесед пользователя.
  • (Устаревший) Messages.GetDialogs - Возвращает список диалогов текущего пользователя.
  • Messages.GetHistory - Возвращает историю сообщений для указанного пользователя.
  • Messages.GetHistoryAttachments - !!Возвращает материалы диалога или беседы.
  • Messages.GetImportantMessages - !!Возвращает список важных сообщений пользователя.
  • Messages.GetInviteLink - !!Получает ссылку для приглашения пользователя в беседу.
  • Messages.GetLastActivity - Возвращает текущий статус и дату последней активности указанного пользователя.
  • Messages.GetLongPollHistory - Возвращает обновления в личных сообщениях пользователя.
  • Messages.GetLongPollServer - Возвращает данные, необходимые для подключения к Long Poll серверу.
  • Messages.IsMessagesFromGroupAllowed - !!Возвращает информацию о том, разрешена ли отправка сообщений от сообщества пользователю.
  • Messages.JoinChatByInviteLink - !!Позволяет присоединиться к чату по ссылке-приглашению.
  • Messages.MarkAsAnsweredConversation - !!Помечает беседу как отвеченную либо снимает отметку.
  • Messages.MarkAsImportant - !!Помечает сообщения как важные либо снимает отметку.
  • Messages.MarkAsImportantConversation - !!Помечает беседу как важную либо снимает отметку.
  • Messages.MarkAsRead - Помечает сообщения как прочитанные.
  • Messages.Pin - !!Закрепляет сообщение.
  • Messages.RemoveChatUser - Исключает из мультидиалога пользователя, если текущий пользователь был создателем беседы либо пригласил исключаемого пользователя.
  • Messages.Restore - Восстанавливает удаленное сообщение.
  • Messages.Search - Возвращает список найденных личных сообщений текущего пользователя по введенной строке поиска.
  • (Устаревший) Messages.SearchDialogs - Возвращает список найденных диалогов текущего пользователя по введенной строке поиска.
  • Messages.SearchConversations - Позволяет искать диалоги.
  • Messages.Send - Отправляет сообщение.
  • Messages.SetActivity - Изменяет статус набора текста пользователем в диалоге.
  • Messages.SetChatPhoto - Позволяет установить фотографию мультидиалога, загруженную с помощью метода pho/tos.getChatUploadServer.
  • Messages.Unpin - !!Открепляет сообщение.

Стена

  • Wall.CloseComments - !!Выключает комментирование записи.
  • (Устаревший метод) Wall.AddComment - Добавляет комментарий к записи на стене пользователя или сообщества.
  • Wall.CreateComment - !!Добавляет комментарий к записи на стене.
  • Wall.Delete - Удаляет запись со стены.
  • Wall. DeleteComment - Удаляет комментарий текущего пользователя к записи на своей или чужой стене.
  • Wall.Edit - Редактирует запись на стене.
  • Wall.EditAdsStealth - !!Позволяет отредактировать скрытую запись.
  • Wall.EditComment - Редактирует комментарий на стене пользователя или сообщества.
  • Wall.Get - Возвращает список записей со стены пользователя или сообщества.
  • Wall.GetById - Возвращает список записей со стен пользователей или сообществ по их идентификаторам.
  • Wall.GetComments - Возвращает список комментариев к записи на стене.
  • Wall.GetReposts - Позволяет получать список репостов заданной записи.
  • Wall.OpenComments - !!Включает комментирование записи
  • Wall.Pin - Закрепляет запись на стене (запись будет отображаться выше остальных).
  • Wall.Post - Публикует новую запись на своей или чужой стене.
  • Wall.PostAdsStealth - !!Позволяет создать скрытую запись, которая не попадает на стену сообщества и в дальнейшем может быть использована для создания рекламного объявления типа “Запись в сообществе”.
  • Wall.ReportComment - Позволяет пожаловаться на комментарий к записи.
  • Wall.ReportPost - Позволяет пожаловаться на запись.
  • Wall.Repost - Копирует объект на стену пользователя или сообщества.
  • Wall.Restore - Восстанавливает удаленную запись на стене пользователя или сообщества.
  • Wall.RestoreComment - Восстанавливает комментарий текущего пользователя к записи на своей или чужой стене.
  • Wall.Search - Метод, позволяющий осуществлять поиск по стенам пользователей.
  • Wall.Unpin - Отменяет закрепление записи на стене.

Статус

  • Status.Get - Получает статус пользователя.
  • Status.Set - Устанавливает статус текущему пользователю.

Фотографии

  • Photos.ConfirmTag - Подтверждает отметку на фотографии.
  • Photos.Copy - Позволяет скопировать фотографию в альбом “Сохраненные фотографии”.
  • Photos.CreateAlbum - Создает пустой альбом для фотографий.
  • Photos.CreateComment - Создает новый комментарий к фотографии.
  • Photos.Delete - Удаление фотографии на сайте.
  • Photos.DeleteAlbum - Удаляет указанный альбом для фотографий у текущего пользователя.
  • Photos.DeleteComment - Удаляет комментарий к фотографии.
  • Photos.Edit - Изменяет описание у выбранной фотографии.
  • Photos.EditAlbum - Редактирует данные альбома для фотографий пользователя.
  • Photos.EditComment - Изменяет текст комментария к фотографии.
  • Photos.Get - Возвращает список фотографий в альбоме.
  • Photos.GetAlbums - Возвращает список альбомов пользователя или сообщества.
  • Photos.GetAlbumsCount - Возвращает количество доступных альбомов пользователя или сообщества.
  • Photos.GetAll - Возвращает все фотографии пользователя или сообщества в антихронологическом порядке.
  • Photos.GetAllComments - Возвращает отсортированный в антихронологическом порядке список всех комментариев к конкретному альбому или ко всем альбомам пользователя.
  • Photos.GetById - Возвращает информацию о фотографиях по их идентификаторам.
  • Photos.GetChatUploadServer - Позволяет получить адрес для загрузки фотографий мультидиалогов.
  • Photos.GetComments - Возвращает список комментариев к фотографии.
  • Photos.GetMarketAlbumUploadServer - Возвращает адрес сервера для загрузки фотографии подборки товаров в сообществе.
  • Photos.GetMarketUploadServer - Возвращает адрес сервера для загрузки фотографии товаров сообщества.
  • Photos.GetMessagesUploadServer - Возвращает адрес сервера для загрузки фотографии в личное сообщение пользователю.
  • Photos.GetNewTags - Возвращает список фотографий, на которых есть непросмотренные отметки.
  • Photos.GetOwnerCoverPhotoUploadServer - Получает адрес для загрузки обложки сообщества.
  • Photos.GetOwnerPhotoUploadServer - Возвращает адрес сервера для загрузки главной фотографии на страницу пользователя или сообщества.
  • Photos.GetTags - Возвращает список отметок на фотографии.
  • Photos.GetUploadServer - Возвращает адрес сервера для загрузки фотографий.
  • Photos.GetUserPhotos - Возвращает список фотографий, на которых отмечен пользователь.
  • Photos.GetWallUploadServer - Возвращает адрес сервера для загрузки фотографии на стену пользователя или сообщества.
  • Photos.Move - Переносит фотографию из одного альбома в другой.
  • Photos.MakeCover - Делает фотографию обложкой альбома.
  • Photos.PutTag - Добавляет отметку на фотографию.
  • Photos.RemoveTag - Удаляет отметку с фотографии.
  • Photos.ReorderAlbums - Меняет порядок альбома в списке альбомов пользователя.
  • Photos.ReorderPhotos - Меняет порядок фотографии в списке фотографий альбома пользователя.
  • Photos.Report - Позволяет пожаловаться на фотографию.
  • Photos.ReportComment - Позволяет пожаловаться на комментарий к фотографии.
  • Photos.Restore - Восстанавливает удаленную фотографию.
  • Photos.RestoreComment - Восстанавливает удаленный комментарий к фотографии.
  • Photos.Save - Сохраняет фотографии после успешной загрузки.
  • Photos.SaveMarketAlbumPhoto - Сохраняет фотографии после успешной загрузки на URI, полученный методом ph/otos.getMarketAlbumUploadServer.
  • Photos.SaveMarketPhoto - Сохраняет фотографии после успешной загрузки на URI, полученный методом ph/otos.getMarketUploadServer.
  • Photos.SaveMessagesPhoto - Сохраняет фотографию после успешной загрузки на URI, полученный методом ph/otos.getMessagesUploadServer.
  • Photos.SaveOwnerCoverPhoto - Сохраняет изображение для обложки сообщества после успешной загрузки.
  • Photos.SaveOwnerPhoto - Позволяет сохранить главную фотографию пользователя или сообщества.
  • Photos.SaveWallPhoto - Сохраняет фотографии после успешной загрузки на URI, полученный методом ph/ otos.getWallUploadServer.
  • Photos. Search - Осуществляет поиск изображений по местоположению или описанию.

Видео

  • Video.Add - Добавляет видеозапись в список пользователя.
  • Video.AddAlbum - Создает пустой альбом видеозаписей.
  • Video.AddToAlbum - Позволяет добавить видеозапись в альбом.
  • Video.CreateComment - Cоздает новый комментарий к видеозаписи.
  • Video.Delete - Удаляет видеозапись со страницы пользователя.
  • Video.DeleteAlbum - Удаляет альбом видеозаписей.
  • Video.DeleteComment - Удаляет комментарий к видеозаписи.
  • Video.Edit - Редактирует данные видеозаписи.
  • Video.EditAlbum - Редактирует название альбома видеозаписей.
  • Video.EditComment - Изменяет текст комментария к видеозаписи.
  • Video.Get - Возвращает информацию о видеозаписях.
  • Video.GetAlbumById - Позволяет получить информацию об альбоме с видео.
  • Video.GetAlbums - Возвращает список альбомов видеозаписей пользователя или сообщества.
  • Video.GetAlbumsByVideo - Возвращает список альбомов, в которых находится видеозапись.
  • (Устаревший) Video.GetCatalog - Позволяет получить представление каталога видео.
  • (Устаревший) Video.GetCatalogSection - Позволяет получить отдельный блок видеокаталога.
  • Video.GetComments - Возвращает список комментариев к видеозаписи.
  • (Устаревший) Video.HideCatalogSection - Скрывает для пользователя раздел видеокаталога.
  • Video.RemoveFromAlbum - Позволяет убрать видеозапись из альбома.
  • (Устаревший) Video.RemoveTag - Удаляет отметку с видеозаписи.
  • Video.ReorderAlbums - Позволяет изменить порядок альбомов с видео.
  • Video.ReorderVideos - Позволяет переместить видеозапись в альбоме.
  • Video.Report - Позволяет пожаловаться на видеозапись.
  • Video.ReportComment - Позволяет пожаловаться на комментарий к видеозаписи.
  • Video.Restore - Восстанавливает удаленную видеозапись.
  • Video. RestoreComment - Восстанавливает удаленный комментарий к видеозаписи.
  • Video.Save - Возвращает адрес сервера (необходимый для загрузки) и данные видеозаписи.
  • Video.Search - Возвращает список видеозаписей в соответствии с заданным критерием поиска.

Закладки

  • Fave.AddArticle - Добавляет статью в закладки.
  • (Устаревший) Fave.AddGroup - Добавляет сообщество в закладки.
  • Fave.AddLink - Добавляет ссылку в закладки.
  • Fave.AddPage - Добавляет сообщество или пользователя в закладки.
  • Fave.AddPost - Добавляет запись со стены пользователя или сообщества в закладки.
  • Fave.AddProduct - Добавляет товар в закладки.
  • Fave.AddTag - Создает метку в закладки.
  • (Устаревший) Fave.AddUser - Добавляет пользователя в закладки.
  • Fave.AddVideo - Добавляет видеозапись в закладки.
  • Fave.EditTag - Редактирует метку.
  • Fave.Get - Возвращает объекты, добавленные в закладки пользователя..
  • (Устаревший) Fave.GetLinks - Возвращает ссылки, добавленные в закладки текущим пользователем.
  • (Устаревший) Fave.GetMarketItems - Возвращает товары, добавленные в закладки текущим пользователем.
  • Fave.GetPages - Возвращает страницы пользователей и сообществ, добавленных в закладки.
  • (Устаревший) Fave.GetPhotos - Возвращает фотографии, на которых текущий пользователь поставил отметку “Мне нравится”.
  • (Устаревший) Fave.GetPosts - Возвращает записи, на которых текущий пользователь поставил отметку «Мне нравится».
  • Fave.GetTags - Возвращает список меток в закладках.
  • (Устаревший) Fave.GetUsers - Возвращает список пользователей, добавленных текущим пользователем в закладки.
  • (Устаревший) Fave.GetVideos - Возвращает список видеозаписей, на которых текущий пользователь поставил отметку «Мне нравится».
  • Fave.MarkSeen - Отмечает закладки как просмотренные.
  • Fave.RemoveArticle - Добавляет видеозапись в закладки.
  • (Устаревший) Fave.RemoveGroup - Удаляет сообщество из закладок.
  • Fave.RemoveLink - Добавляет видеозапись в закладки.
  • Fave.RemovePage - Добавляет видеозапись в закладки.
  • Fave.RemovePost - Добавляет видеозапись в закладки.
  • Fave.RemoveProduct - Добавляет видеозапись в закладки.
  • Fave.RemoveTag - Добавляет видеозапись в закладки.
  • (Устаревший) Fave.RemoveUser - Удаляет пользователя из закладок.
  • Fave.RemoveVideo - Добавляет видеозапись в закладки.
  • Fave.ReorderTags - Добавляет видеозапись в закладки.
  • Fave.SetPageTags - Добавляет видеозапись в закладки.
  • Fave.SetTags - Добавляет видеозапись в закладки.
  • Fave.TrackPageInteraction - Добавляет видеозапись в закладки.

Служебные

  • Utils.CheckLink - Возвращает информацию о том, является ли внешняя ссылка заблокированной на сайте ВКонтакте.
  • Utils.deleteFromLastShortened - !!Удаляет сокращенную ссылку из списка пользователя.
  • Utils.getLastShortenedLinks - !!Получает список сокращенных ссылок для текущего пользователя.
  • Utils.getLinkStats - !!Возвращает статистику переходов по сокращенной ссылке.
  • Utils.GetServerTime - Возвращает текущее время на сервере ВКонтакте.
  • Utils.getShortLink - !!Позволяет получить URL, сокращенный с помощью vk.cc.
  • Utils.ResolveScreenName - Определяет тип объекта (пользователь, сообщество, приложение) и его идентификатор по короткому имени screenName.

Данные ВК

  • Database.GetChairs - Возвращает список кафедр университета по указанному факультету.
  • Database.GetCities - Возвращает список городов.
  • Database.GetCitiesById - Возвращает информацию о городах по их идентификаторам.
  • Database.GetCountries - Возвращает список стран.
  • Database.GetCountriesById - Возвращает информацию о странах по их идентификаторам
  • Database.GetFaculties - Возвращает список факультетов.
  • Database.GetMetroStations - Возвращает список станций метро.
  • Database.getMetroStationsById - Возвращает информацию об одной или нескольких станциях метро по их идентификаторам.
  • Database.GetRegions - Возвращает список регионов.
  • Database.GetSchoolClasses - Возвращает список классов, характерных для школ определенной страны.
  • Database.GetSchools - Возвращает список школ.
  • (Устаревший) Database.GetStreetsById - Возвращает информацию об улицах по их идентификаторам (id).
  • Database.GetUniversities - Возвращает список высших учебных заведений.

Новости

  • Newsfeed.AddBan - Запрещает показывать новости от заданных пользователей и групп в ленте новостей текущего пользователя.
  • Newsfeed.DeleteBan - Разрешает показывать новости от заданных пользователей и групп в ленте новостей текущего пользователя.
  • Newsfeed.DeleteList - Метод позволяет удалить пользовательский список новостей
  • Newsfeed.Get - Возвращает данные, необходимые для показа списка новостей для текущего пользователя.
  • Newsfeed.GetBanned - Возвращает список пользователей и групп, которые текущий пользователь скрыл из ленты новостей.
  • Newsfeed.GetComments - Возвращает данные, необходимые для показа раздела комментариев в новостях пользователя.
  • Newsfeed.GetLists - Возвращает пользовательские списки новостей.
  • Newsfeed.GetMentions - Возвращает список записей пользователей на своих стенах, в которых упоминается указанный пользователь.
  • Newsfeed.GetRecommended - Получает список новостей, рекомендованных пользователю.
  • Newsfeed.GetSuggestedSources - Возвращает сообщества и пользователей, на которые текущему пользователю рекомендуется подписаться.
  • Newsfeed.IgnoreItem - Позволяет скрыть объект из ленты новостей.
  • Newsfeed.SaveList - Метод позволяет создавать или редактировать пользовательские списки для просмотра новостей.
  • Newsfeed.Search - Возвращает результаты поиска по статусам. Новости возвращаются в порядке от более новых к более старым.
  • Newsfeed.UnignoreItem - Позволяет вернуть ранее скрытый объект в ленту новостей.
  • Newsfeed.Unsubscribe - Отписывает текущего пользователя от комментариев к заданному объекту.

Мне нравится

  • Likes.Add - Добавляет указанный объект в список Мне нравится текущего пользователя.
  • Likes.Delete - Удаляет указанный объект из списка Мне нравится текущего пользователя.
  • Likes.GetList - Получает список идентификаторов пользователей, которые добавили заданный объект в свой список Мне нравится.
  • Likes.IsLiked - Проверяет, находится ли объект в списке Мне нравится заданного пользователя.

Авторизация

  • Auth.CheckPhone - Проверяет правильность введённого номера.
  • Auth.Restore - Позволяет восстановить доступ к аккаунту, используя код, полученный через SMS. Данный метод доступен только приложениям, имеющим доступ к Прямой авторизации.
  • (Устаревший) Auth.Signup - Регистрирует нового пользователя по номеру телефона.
  • (Устаревший) Auth.Confirm - Завершает регистрацию нового пользователя, начатую методом auth.signup, по коду, полученному через SMS.

Статистика

  • Stats.Get - Возвращает статистику сообщества или приложения.
  • Stats.GetPostReach - Возвращает статистику для записи на стене.
  • Stats.TrackVisitor - Добавляет данные о текущем сеансе в статистику посещаемости приложения.

Подарки

  • Gifts.Get - Возвращает список полученных подарков пользователя.

Страницы

  • Pages.ClearCache - Позволяет очистить кеш отдельных внешних страниц, которые могут быть прикреплены к записям ВКонтакте. После очистки кеша при последующем прикреплении ссылки к записи, данные о странице будут обновлены.
  • Pages.Get - Возвращает информацию о вики-странице.
  • Pages.GetHistory - Возвращает список всех старых версий вики-страницы.
  • Pages.GetTitles - Возвращает список вики-страниц в группе.
  • Pages.GetVersion - Возвращает текст одной из старых версий страницы.
  • Pages.ParseWiki - Возвращает html-представление вики-разметки.
  • Pages.Save - Сохраняет текст вики-страницы.
  • Pages.SaveAccess - Сохраняет новые настройки доступа на чтение и редактирование вики-страницы.

Документы

  • Docs.Add - Копирует документ в документы текущего пользователя.
  • Docs.Delete - Удаляет документ пользователя или группы.
  • Docs.Edit - Редактирует документ пользователя или группы.
  • Docs.Get - Возвращает расширенную информацию о документах пользователя или сообщества.
  • Docs.GetById - Возвращает информацию о документах по их идентификаторам.
  • Docs.GetMessagesUploadServer - !!Получает адрес сервера для загрузки документа в личное сообщение.
  • Docs.GetTypes - Возвращает доступные типы документы для пользователя
  • Docs.GetUploadServer - Возвращает адрес сервера для загрузки документов.
  • Docs.GetWallUploadServer - Возвращает адрес сервера для загрузки документов в папку Отправленные, для последующей отправки документа на стену или личным сообщением.
  • Docs.Save - Сохраняет документ после его успешной загрузки на сервер.
  • Docs.Search - Возвращает результаты поиска по документам.

Приложения

  • Apps.DeleteAppRequests - Удаляет все уведомления о запросах, отправленных из текущего приложения
  • Apps.Get - Возвращает данные о запрошенном приложении на платформе ВКонтакте
  • Apps.GetCatalog - Возвращает список приложений, доступных для пользователей сайта через каталог приложений.
  • Apps.GetFriendsList - Создает список друзей, который будет использоваться при отправке пользователем приглашений в приложение и игровых запросов.
  • Apps. GetLeaderboard - Возвращает рейтинг пользователей в игре.
  • Apps.GetScopes - !!Нет данных.
  • Apps.GetScore - Метод возвращает количество очков пользователя в этой игре.
  • Apps.PromoHasActiveGift - Проверяет есть ли у пользователя подарок в игре.
  • Apps.PromoUseGift - Использовать подарок, полученный пользователем в промо-акции.
  • Apps.SendRequest - Позволяет отправить запрос другому пользователю в приложении, использующем авторизацию ВКонтакте.

Товары

  • Market.Add - Добавляет новый товар.
  • Market.AddAlbum - Добавляет новую подборку с товарами.
  • Market.AddToAlbum - Добавляет товар в одну или несколько выбранных подборок.
  • Market.CreateComment - Создает новый комментарий к товару.
  • Market.Delete - Удаляет товар.
  • Market.DeleteAlbum - Удаляет подборку с товарами.
  • Market.DeleteComment - Удаляет комментарий к товару.
  • Market.Edit - Редактирует товар.
  • Market.EditAlbum - Редактирует подборку с товарами.
  • Market.EditComment - Изменяет текст комментария к товару.
  • Market.Get - Возвращает список товаров в сообществе.
  • Market.GetAlbums - Возвращает список подборок с товарами.
  • Market.GetAlbumById - Возвращает данные подборки с товарами.
  • Market.GetById - Возвращает информацию о товарах по идентификаторам.
  • Market.GetCategories - Возвращает список категорий для товаров.
  • Market.GetComments - Возвращает список комментариев к товару.
  • Market.RemoveFromAlbum - Удаляет товар из одной или нескольких выбранных подборок.
  • Market.ReorderAlbums - Изменяет положение подборки с товарами в списке.
  • Market.ReorderItems - Изменяет положение товара в подборке.
  • Market.Report - Позволяет отправить жалобу на товар.
  • Market.ReportComment - Позволяет оставить жалобу на комментарий к товару.
  • Market.Restore - Восстанавливает удаленный товар.
  • Market.RestoreComment - Восстанавливает удаленный комментарий к товару.
  • Market.Search - Ищет товары в каталоге сообщества.

Аккаунт

  • Account.Ban - Добавляет пользователя или группу в черный список.
  • Account.ChangePassword - Позволяет сменить пароль пользователя после успешного восстановления доступа к аккаунту через СМС, используя метод auth.restore.
  • Account.GetActiveOffers - Возвращает список активных рекламных предложений (офферов), выполнив которые пользователь сможет получить соответствующее количество голосов на свой счёт внутри приложения.
  • Account.GetAppPermissions - Получает настройки текущего пользователя в данном приложении.
  • Account.GetBanned - Возвращает список пользователей, находящихся в черном списке.
  • Account.GetCounters - Возвращает ненулевые значения счетчиков пользователя.
  • Account.GetInfo - Возвращает информацию о текущем аккаунте.
  • Account.GetProfileInfo - Возвращает информацию о текущем профиле.
  • Account.GetPushSettings - Позволяет получать настройки Push уведомлений.
  • Account.RegisterDevice - Подписывает устройство на базе iOS, Android или Windows Phone на получение Push-уведомлений.
  • Account.SaveProfileInfo - Редактирует информацию текущего профиля.
  • Account.SetInfo - Позволяет редактировать информацию о текущем аккаунте.
  • Account.SetNameInMenu - Устанавливает короткое название приложения (до 17 символов), которое выводится пользователю в левом меню.
  • Account.SetOffline - Помечает текущего пользователя как offline.
  • Account.SetOnline - Помечает текущего пользователя как online на 15 минут.
  • Account.SetPushSettings - Изменяет настройку Push-уведомлений.
  • Account.SetSilenceMode - Отключает push-уведомления на заданный промежуток времени.
  • Account.Unban - Убирает пользователя из черного списка.
  • Account.UnregisterDevice - Отписывает устройство от Push уведомлений.

Рекламный Кабинет

  • Ads.AddOfficeUsers - Добавляет администраторов и/или наблюдателей в рекламный кабинет.
  • Ads.CheckLink - Проверяет ссылку на рекламируемый объект.
  • Ads.CreateAds - Создает рекламные объявления.
  • Ads.CreateCampaigns - Создает рекламные кампании.
  • Ads.CreateClients - оздаёт клиентов рекламного агентства.
  • Ads.CreateLookalikeRequest - Создаёт запрос на поиск похожей аудитории.
  • Ads.CreateTargetGroup - Создает аудиторию для ретаргетинга рекламных объявлений на пользователей, которые посетили сайт рекламодателя (просмотрели информации о товаре, зарегистрировались и т.д.).
  • Ads.CreateTargetPixel - Создаёт пиксель ретаргетинга.
  • Ads.DeleteAds - Архивирует рекламные объявления.
  • Ads.DeleteCampaigns - Архивирует рекламные кампании.
  • Ads.DeleteClients - Архивирует клиентов рекламного агентства.
  • Ads.DeleteTargetGroup - Удаляет аудиторию ретаргетинга.
  • Ads.DeleteTargetPixel - Удаляет пиксель ретаргетинга.
  • Ads.GetAccounts - Возвращает список рекламных кабинетов.
  • Ads.GetAds - Возвращает список рекламных объявлений.
  • Ads.GetAdsLayout - Возвращает описания внешнего вида рекламных объявлений.
  • Ads.GetAdsTargeting - Возвращает параметры таргетинга рекламных объявлений
  • Ads.GetBudget - Возвращает текущий бюджет рекламного кабинета.
  • Ads.GetCampaigns - Возвращает список кампаний рекламного кабинета.
  • Ads.GetCategories - Позволяет получить возможные тематики рекламных объявлений.
  • Ads.GetClients - Возвращает список клиентов рекламного агентства.
  • Ads.GetDemographics - Возвращает демографическую статистику по рекламным объявлениям или кампаниям.
  • Ads.GetFloodStats - Возвращает информацию о текущем состоянии счетчика — количество оставшихся запусков методов и время до следующего обнуления счетчика в секундах.
  • Ads.GetLookalikeRequests - Возвращает список запросов на поиск похожей аудитории.
  • Ads.GetOfficeUsers - Возвращает список администраторов и наблюдателей рекламного кабинета.
  • Ads.GetPostsReach - Возвращает подробную статистику по охвату рекламных записей из объявлений и кампаний для продвижения записей сообщества.
  • Ads.GetRejectionReason - Возвращает причину, по которой указанному объявлению было отказано в прохождении премодерации.
  • Ads.GetStatistics - Возвращает статистику показателей эффективности по рекламным объявлениям, кампаниям, клиентам или всему кабинету.
  • Ads.GetSuggestions - Возвращает набор подсказок для различных параметров таргетинга.
  • Ads.GetTargetGroups - Возвращает список аудиторий ретаргетинга.
  • Ads.GetTargetPixels - Возвращает список пикселей ретаргетинга.
  • Ads.GetTargetingStats - Возвращает размер целевой аудитории таргетинга, а также рекомендованные значения CPC и CPM.
  • Ads.GetUploadURL - Возвращает URL-адрес для загрузки фотографии рекламного объявления.
  • Ads.GetVideoUploadURL - Возвращает URL-адрес для загрузки видеозаписи рекламного объявления.
  • Ads.ImportTargetContacts - Импортирует список контактов рекламодателя для учета зарегистрированных во ВКонтакте пользователей в аудитории ретаргетинга.
  • Ads.RemoveOfficeUsers - Удаляет администраторов и/или наблюдателей из рекламного кабинета.
  • Ads.RemoveTargetContacts - Принимает запрос на исключение контактов рекламодателя из аудитории ретаргетинга.
  • Ads.SaveLookalikeRequestResult - Сохраняет результат поиска похожей аудитории.
  • Ads.ShareTargetGroup - Предоставляет доступ к аудитории ретаргетинга другому рекламному кабинету. В результате выполнения метода возвращается идентификатор аудитории для указанного кабинета.
  • Ads.UpdateAds - Редактирует рекламные объявления.
  • Ads.UpdateCampaigns - Редактирует рекламные кампании.
  • Ads.UpdateClients - Редактирует клиентов рекламного агентства.
  • Ads.UupdateTargetGroup - Редактирует аудиторию ретаргетинга.
  • Ads.UpdateTargetPixel - Редактирует пиксель ретаргетинга.

Обсуждения

  • Board.AddTopic - Создает новую тему в списке обсуждений группы.
  • Board.CloseTopic - Закрывает тему в списке обсуждений группы (в такой теме невозможно оставлять новые сообщения).
  • Board.CreateComment - Добавляет новый комментарий в обсуждении.
  • Board.DeleteComment - Удаляет сообщение темы в обсуждениях сообщества.
  • Board.DeleteTopic - Удаляет тему в обсуждениях группы.
  • Board.EditComment - Редактирует одно из сообщений в обсуждении сообщества.
  • Board.EditTopic - Изменяет заголовок темы в списке обсуждений группы.
  • Board.FixTopic - Закрепляет тему в списке обсуждений группы (такая тема при любой сортировке выводится выше остальных).
  • Board.GetComments - Возвращает список сообщений в указанной теме.
  • Board.GetTopics - Возвращает список тем в обсуждениях указанной группы.
  • Board.OpenTopic - Открывает ранее закрытую тему (в ней станет возможно оставлять новые сообщения).
  • Board.RestoreComment - Восстанавливает удаленное сообщение темы в обсуждениях группы.
  • Board.UnfixTopic - Отменяет прикрепление темы в списке обсуждений группы (тема будет выводиться согласно выбранной сортировке).

Управление рекламными акциями (офферами)

  • Leads.CheckUser - Проверяет, доступна ли рекламная акция пользователю.
  • Leads.Complete - Завершает начатую пользователем рекламную акцию, используя сессию и секретный ключ.
  • Leads.GetStats - Возвращает статистику по рекламной акции.
  • Leads.GetUsers - Возвращает список последних действий пользователей по рекламной акции.
  • Leads.MetricHit - Засчитывает событие метрики.
  • Leads.Start - Создаёт новую сессию для прохождения рекламной акции для пользователя.

Заметки

  • Notes.Add - Создает новую заметку у текущего пользователя.
  • Notes.CreateComment - Добавляет новый комментарий к заметке.
  • Notes.Delete - Удаляет заметку текущего пользователя.
  • Notes.DeleteComment - Удаляет комментарий к заметке.
  • Notes.Edit - Редактирует заметку текущего пользователя.
  • Notes.EditComment - Редактирует указанный комментарий у заметки.
  • Notes.Get - Возвращает список заметок, созданных пользователем.
  • Notes.GetById - Возвращает заметку по её id.
  • Notes.GetComments - Возвращает список комментариев к заметке.
  • Notes.RestoreComment - Восстанавливает удалённый комментарий.

Оповещения

  • Notifications.Get - Возвращает список оповещений об ответах других пользователей на записи текущего пользователя.
  • Notifications.MarkAsViewed - Сбрасывает счетчик непросмотренных оповещений об ответах других пользователей на записи текущего пользователя.

Опросы

  • Polls.AddVote - Отдает голос текущего пользователя за выбранный вариант ответа в указанном опросе.
  • Polls.Create - Позволяет создавать опросы, которые впоследствии можно прикреплять к записям на странице пользователя или сообщества.
  • Polls.DeleteVote - Снимает голос текущего пользователя с выбранного варианта ответа в указанном опросе.
  • Polls.Edit - Позволяет редактировать созданные опросы.
  • Polls.GetById - Возвращает детальную информацию об опросе по его идентификатору.
  • Polls.GetVoters - Получает список идентификаторов пользователей, которые выбрали определенные варианты ответа в опросе.

Поиск

  • Search.GetHints - Метод позволяет получить результаты быстрого поиска по произвольной подстроке.

Административные методы от имени приложения

  • Secure.AddAppEvent - Добавляет информацию о достижениях пользователя в приложении.
  • Secure.CheckToken - Позволяет проверять валидность пользователя в IFrame, Flash и Standalone-приложениях с помощью передаваемого в приложения параметра access_token.
  • Secure.GetAppBalance - Возвращает платежный баланс (счет) приложения в сотых долях голоса.
  • Secure.GetSMSHistory - Выводит список SMS-уведомлений, отосланных приложением с помощью метода secure.sendSMSNotification.
  • Secure.GetTransactionsHistory - Выводит историю транзакций по переводу голосов между пользователями и приложением.
  • Secure.GetUserLevel - Возвращает ранее выставленный игровой уровень одного или нескольких пользователей в приложении.
  • Secure.GiveEventSticker - Выдает пользователю стикер и открывает игровое достижение.
  • Secure.SendNotification - Отправляет уведомление пользователю.
  • Secure.SendSMSNotification - Отправляет SMS-уведомление на мобильный телефон пользователя.
  • Secure.SetCounter - Устанавливает счетчик, который выводится пользователю жирным шрифтом в левом меню.

Переменные в приложении

  • Storage.Get - Возвращает значение переменной, название которой передано в параметре key.
  • Storage.GetKeys - Возвращает названия всех переменных.
  • Storage.Set - Сохраняет значение переменной, название которой передано в параметре key.

Формы сбора заявок

Истории

  • Stories.BanOwner - Позволяет скрыть из ленты новостей истории от выбранных источников.
  • Stories.Delete - Удаляет историю.
  • Stories.Get - Возвращает истории, доступные для текущего пользователя.
  • Stories.GetBanned - Возвращает список источников историй, скрытых из ленты текущего пользователя.
  • Stories.GetById - Возвращает информацию об истории по её идентификатору.
  • Stories.GetPhotoUploadServer - Позволяет получить адрес для загрузки истории с фотографией.
  • Stories.GetReplies - Позволяет получить ответы на историю.
  • Stories.GetStats - Возвращает статистику истории.
  • Stories.GetVideoUploadServer - Позволяет получить адрес для загрузки видеозаписи в историю.
  • Stories.GetViewers - Возвращает список пользователей, просмотревших историю.
  • Stories.HideAllReplies - Скрывает все ответы автора за последние сутки на истории текущего пользователя.
  • Stories.HideReply - Скрывает ответ на историю.
  • Stories.UnbanOwner - Позволяет вернуть пользователя или сообщество в список отображаемых историй в ленте.

Виджеты приложений

  • AppWidgets.GetAppImageUploadServer - Позволяет получить адрес для загрузки фотографии в коллекцию приложения для виджетов приложений сообществ.
  • AppWidgets.GetAppImages - Позволяет получить коллекцию изображений, загруженных для приложения, в виджетах приложений сообществ.
  • AppWidgets.GetGroupImageUploadServer - Позволяет получить адрес для загрузки фотографии в коллекцию сообщества для виджетов приложений сообществ.
  • AppWidgets.GetGroupImages - Позволяет получить коллекцию изображений, загруженных для приложения, в виджетах приложений сообществ.
  • AppWidgets.GetImagesById - Позволяет получить изображение для виджетов приложений сообществ по его идентификатору.
  • AppWidgets.SaveAppImage - Позволяет сохранить изображение в коллекцию приложения для виджетов приложений сообществ после загрузки на сервер.
  • AppWidgets.SaveGroupImage - Позволяет сохранить изображение в коллекцию сообщества для виджетов приложений сообществ. после загрузки на сервер.
  • AppWidgets.Update - Позволяет обновить виджет приложения сообщества. Виджет обязательно должен быть уже установлен в сообществе.

Streaming API

  • Streaming.GetServerUrl - Позволяет получить данные для подключения к Streaming API.
  • Streaming.GetSettings - Позволяет получить значение порога для Streaming API.
  • Streaming.GetStats - Позволяет получить статистику для подготовленных и доставленных событий Streaming API.
  • Streaming.SetSettings - Позволяет задать значение порога для Streaming API.

Состояние заказов

Виджеты

  • Widgets.GetComments - Получает список комментариев к странице, оставленных через Виджет комментариев.
  • Widgets.GetPages - Получает список страниц приложения/сайта, на которых установлен Виджет комментариев или «Мне нравится».

Группы

Стена

  • Wall.GetComment - !!Получает информацию о комментарии на стене.

Оповещения

  • Notifications.SendMessage - Отправляет уведомление пользователю приложения VK Apps.

Опросы

  • Polls.SavePhoto - Сохраняет фотографию, загруженную в опрос.
  • Polls.GetBackgrounds - Возвращает варианты фонового изображения для опросов.
  • Polls.GetPhotoUploadServer - Возвращает адрес сервера для загрузки фоновой фотографии в опрос.

Места

Подкасты

Карусель

Истории

  • Stories.Search - Возвращает результаты поиска по историям.

Streaming API

Hosted on GitHub Pages

вконтакте - Получить видео VKontakte Api

Обычно ВК не отдает прямой ссылки на видео

Это потому-что используете заголовок запроса "User-Agent", если он пуст то тогда и будут прямые ссылки в files. Сделайте запрос типа:

https://api.vk.com/method/video.get?videos=-53956136_169543800&access_token=%access_token%

с пустым заголовком "User-Agent", выйдет:

{
    'response' : [1, {
            'duration' : 1452,
            'vid' : 169543800,
            'views' : 4790,
            'owner_id' : -53956136,
            'player' : 'https://vk.com/video_ext.php?oid=-53956136&id=169543800&hash=06da65ec2f1a6d00',
            'date' : 1408830421,
            'link' : 'video-53956136_169543800',
            'files' : {
                'mp4_240' : 'https://cs543208.vk.me/u222975331/videos/fd8d6c3d4d.240.mp4?extra=d1xg726trlMQIwAZ4X8NTUJRI2kk-uw9TJ66bWZtq_odwiDxYverCALb8PNb_z-zjbPhvX07ftxnZRXZ-li8XiFKJZ_oEJnbrPVPqLrKUiFM9J1FfYFEEm3c5SfRXRDSSU29k7QTkS_7uTxg',
                'mp4_720' : 'https://cs543208.vk.me/u222975331/videos/fd8d6c3d4d.720.mp4?extra=d1xg726trlMQIwAZ4X8NTUJRI2kk-uw9TJ66bWZtq_odwiDxYverCALb8PNb_z-zjbPhvX07ftxnZRXZ-li8XiFKJZ_oEJnbrPVPqLrKUiFM9J1FfYFEEm3c5SfRXRDSSU29k7QTkS_7uTxg',
                'mp4_360' : 'https://cs543208.vk.me/u222975331/videos/fd8d6c3d4d.360.mp4?extra=d1xg726trlMQIwAZ4X8NTUJRI2kk-uw9TJ66bWZtq_odwiDxYverCALb8PNb_z-zjbPhvX07ftxnZRXZ-li8XiFKJZ_oEJnbrPVPqLrKUiFM9J1FfYFEEm3c5SfRXRDSSU29k7QTkS_7uTxg',
                'mp4_480' : 'https://cs543208.vk.me/u222975331/videos/fd8d6c3d4d.480.mp4?extra=d1xg726trlMQIwAZ4X8NTUJRI2kk-uw9TJ66bWZtq_odwiDxYverCALb8PNb_z-zjbPhvX07ftxnZRXZ-li8XiFKJZ_oEJnbrPVPqLrKUiFM9J1FfYFEEm3c5SfRXRDSSU29k7QTkS_7uTxg'
            },
            'description' : 'Видео предоставлено группой [club53956136|AniZUR Аниме на любой вкус]<br><br>Следующая серия: http://vk.com/video-53956136_169543833',
            'comments' : 5,
            'title' : 'Hunter x Hunter Remake / Хантер x Хантер - 2 сезон 66 серия [Озвучка: Ancord]',
            'image' : 'http://cs543208.vk.me/u222975331/video/m_1a4f8d0d.jpg',
            'image_medium' : 'http://cs543208.vk.me/u222975331/video/l_7bbad3fc.jpg'
        }
    ]
}

Если нужен постоянный access_token(может быть опасно) вот:

https://oauth.vk.com/authorize?client_id=3087106&scope=wall,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token

!Обновлено

Новый ВК API теперь требует новый обязательный параметр: версию API: v=5.73(Актуальная на данный момент). И полная ссылка будет выглядеть примерно так:

https://api.vk.com/method/video.get?videos=-53956136_169543800&access_token=%access_token%&v=5.73

Собираем данные по рекламным кампаниям ВКонтакте

В пятничном лонгриде проделаем большую работу: возьмём информацию по рекламным кампаниям ВКонтакте и сопоставим их с данными Google Analytics в Redash. Чтобы снова не поднимать сервер, будем передавать данные через Google Docs, используя Spreadsheet API.

Получение access token
Для получение пользовательского ключа ВКонтакте нужно создать приложение. Идём в раздел «Разработчики» по https://vk.com/apps?act=manage, жмём на кнопку «Создать приложение». В поле «Тип приложения» выбираем «Standalone-приложение» и даём любое название. После этого в меню слева идём в настройки и сохраняем себе ID приложения.

Актуальную информацию о ключах можно посмотреть в статье «Получение ключа доступа»

Теперь копируем себе эту ссылку:

https://oauth.vk.com/authorize?client_id=YourClientID&scope=ads&response_type=token

Но вместо YourClientID вставляем ID своего созданного приложения. В scope у этой ссылки только ads, так что с этим ключом можно будет получать только информацию о рекламном кабинете. Вставляем её в браузер и нас скидывает на другую страницу — в адресе этой странице будет указан ваш сгенерированный access token.

Срок жизни токена — 86400 секунд: ровно сутки. Чтобы получить токен без временных ограничений можно добавить в scope параметр offline. Если токен понадобилось отозвать — смените пароль от страницы или в настройках безопасности завершите активные сессии.

Ещё для запросов к API нам пригодится ID рекламного кабинета — проходим по https://vk.com/ads?act=settings и копируем «номер кабинета».

Сбор данных через запросы к API
Напишем скрипт, который обращается к серверу ВКонтакте с нашим access token и номером рекламного кабинета и берёт информацию о всех кампаниях пользователя: количество просмотров на рекламах, кликов и затрат. Затем скрипт будет формировать из него DataFrame и отправлять в Google Docs.

from oauth3client.service_account import ServiceAccountCredentials
from pandas import DataFrame
import requests
import gspread
import time

Зададим несколько константных значений: access token, ID рекламного кабинета и версию API ВКонтакте, которую будем использовать. Актуальной является версия 5.103.

token = 'fa258683fd418fafcab1fb1d41da4ec6cc62f60e152a63140c130a730829b1e0bc'
version = 5.103
id_rk = 123456789

За получение статистики по рекламе отвечает метод ads.getStatistics, но один из обязательных параметров при его вызове — ’ids’, ID рекламного объявления, статистику по которому мы хотим получить. Так как ID у нас пока нет, придётся сначала воспользоваться методов ads.getAds, который возвращает ID объявлений и кампаний.

Подробнее со всеми методами ВКонтакте API можно ознакомиться в документации

Библиотекой requests отправляем запрос к серверу и передаём свои параметры. Полученный ответ сразу переведём в формат json


campaign_ids = []
ads_ids = []
r = requests.get('https://api.vk.com/method/ads.getAds', params={
    'access_token': token,
    'v': version,
    'account_id': id_rk
})
data = r.json()['response']

Вот, как выглядит объект data: нам вернулся обычный список словарей, с которым мы уже имели дело в материале “Передаём и анализируем собранные данные по рекламным капманиям в Redash”.

Заполняем словарь ad_campaign_dict. Ключом будет ID объявления, а значением — ID кампании, к которой принадлежит объявление. Так будет удобнее присваивать к объявлению ID кампании, к которой оно принадлежало.

ad_campaign_dict = {}
for i in range(len(data)):
    ad_campaign_dict[data[i]['id']] = data[i]['campaign_id']

Теперь, имея ID каждого нужного объявления, можно обратиться к методу ads.getStatistics. Мы будем собирать количество просмотров, кликов, затрат и даты начала и конца объявления, поэтому заблаговременно заведём пустые списки.

ads_campaign_list = []
ads_id_list = []
ads_impressions_list = []
ads_clicks_list = []
ads_spent_list = []
ads_day_start_list = []
ads_day_end_list = []

Вызывать getStatistics нужно отдельно для каждого объявления — будем делать это в итераторе по ad_campaign_dict. Отправляем запрос, передавая в ‘period’ значение ‘overall’ — берём данные за всё время. У некоторых объявлений могут отсутствовать данные по полю «Просмотры» или «Клики» если они не были запущены, и, потребовав их, мы словим KeyError — во избежание этого добавим обработчик try — except, который заставит скрипт не обращать внимания на эту ошибку.

for ad_id in ad_campaign_dict:
        r = requests.get('https://api.vk.com/method/ads.getStatistics', params={
            'access_token': token,
            'v': version,
            'account_id': id_rk,
            'ids_type': 'ad',
            'ids': ad_id,
            'period': 'overall',
            'date_from': '0',
            'date_to': '0'
        })
        try:
            data_stats = r.json()['response']
            for i in range(len(data_stats)):
                for j in range(len(data_stats[i]['stats'])):
                    ads_impressions_list.append(data_stats[i]['stats'][j]['impressions'])
                    ads_clicks_list.append(data_stats[i]['stats'][j]['clicks'])
                    ads_spent_list.append(data_stats[i]['stats'][j]['spent'])
                    ads_day_start_list.append(data_stats[i]['stats'][j]['day_from'])
                    ads_day_end_list.append(data_stats[i]['stats'][j]['day_to'])
                    ads_id_list.append(data_stats[i]['id'])
                    ads_campaign_list.append(ad_campaign_dict[ad_id])
        except KeyError:
            continue

Теперь сформируем из списков DataFrame и выведем первые 5 элементов:

df = DataFrame()
df['campaign_id'] = ads_campaign_list
df['ad_id'] = ads_id_list
df['impressions'] = ads_impressions_list
df['clicks'] = ads_clicks_list
df['spent'] = ads_spent_list
df['day_start'] = ads_day_start_list
df['day_end'] = ads_day_end_list
print(df.head())

Экспорт данных в Google Docs
Для экспорта DataFrame в таблицу Google Sheets необходим ключ доступа Google API. Пройдём по https://console.developers.google.com и создадим новый проект. Даём ему любое имя и в Dashboard жмём на кнопку “Подключить API и сервисы”. Нужно включить два API — Google Drive API и Google Sheets API. Ищем первый в поиске, нажимаем на “Включить API”, затем ищем второй и проделываем то же самое.

После включения нас отправят на панель управления API. Жмём на «Создать учётные данные» — по ним будем проводить авторизацию в скрипте. Отмечаем, что используем Google Sheets API из веб-сервера и обращаемся к данным пользователя. Нажимаем на «Выбрать тип учётных данных» и создаем сервисный аккаунт. В поле «Роль» выбираем Проект — Редактор, а тип ключа оставим JSON.

После этого нам отправят файл в формате JSON с нашими учетными данными — назовём его «credentials.json» — и перенаправят на страницу с сервисными аккаунтами. Ниже будет поле с почтой — копируем её себе.

Переходим по https://docs.google.com/spreadsheets и создаем пустой файл с названием data, в который будут отправляться данные из DataFrame. В настройках доступа даём доступ по почте, скопированной ранее из сервисных аккаунтов — от неё будут приходить данные из скрипта.

Закинем файл credentials.json в директорию со скриптом и продолжим писать код. Перечисляем область видимости в виде ссылок:

scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']

И при помощи библиотек oauth3client и gspread проводим авторизацию методами ServiceAccountCredentials.from_json_keyfile_name и gspread.authorize, указывая в параметрах первого наш файл и переменную scope. Через переменную sheet будем обращаться к нашему файлу в Google Docs.

creds = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)
client = gspread.authorize(creds)
sheet = client.open('data').sheet1

Для ввода значений в ячейку таблички есть метод update_cell. Важно: нумерация индексов ячеек при обращении начинается не с нуля, а с единицы. Первым циклом пройдём по первой строке и перенесем туда заголовки нашего DataFrame. Во втором будем идти по каждой ячейке и вставлять соответствующие значения DataFrame. По умолчанию стоит ограничение — 100 запросов в 100 секунд. Это ограничение может остановить наш скрипт на полпути: чтобы избежать ошибки пропишем time.sleep, чтобы после каждой вставки скрипт секунду выжидал.

count_of_rows = len(df)
count_of_columns = len(df.columns)
for i in range(count_of_columns):
    sheet.update_cell(1, i + 1, list(df.columns)[i])
for i in range(1, count_of_rows + 1):
    for j in range(count_of_columns):
        sheet.update_cell(i + 1, j + 1, str(df.iloc[i, j]))
        time.sleep(1)

Если всё сделаем правильно — получим таблицу такого вида:

Экспорт данных в Redash

Подключение Google Analytics к Redash описано в статье «Как подключить Google Analytics как Redash?».

Имея в Redash таблицу с Google Analytics и рекламным кампаниям ВКонтакте, можем сопоставить их друг другу. Напишем такой запрос:

SELECT
    query_50.day_start,
    CASE WHEN ga_source LIKE '%vk%' THEN 'vk.com' END AS source,
    query_50.spent,
    query_50.impressions,
    query_50.clicks,
    SUM(query_49.ga_sessions) AS sessions,
    SUM(query_49.ga_newUsers) AS users
FROM query_49
JOIN query_50
ON query_49.ga_date = query_50.day_start
WHERE query_49.ga_source LIKE '%vk%' AND DATE(query_49.ga_date) BETWEEN '2020-05-16' AND '2020-05-20'
GROUP BY query_49.ga_date, source

ga_source — источник, с которого человек пришел на сайт. Всё, что похоже на vk оператором CASE объединяем в столбец «vk.com». Оператором JOIN добавляем таблицу с данными из ВКонтакте, объединяя по полю даты. Отсеиваем данные — возьмём день последней рекламной кампании и посмотрим на несколько дней после него. На выходе получим таблицу такого вида:

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

Публикация на стене Вконтакте средствами API - кросспостинг

Кросспосотинг - умышленное автоматическое, полуавтоматическое или ручное помещение одной и той же статьи, ссылки или темы, в форумы, блоги, либо иной формы сайты или публичные переписки, в том числе и в режиме онлайнового общения с целью наращивание ссылочной массы и показателей тИЦ и Google PR, привлечение трафика с бесплатных блог-площадок, увеличение популярности в блогосфере (создание имиджа).

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

Метод который мы рассмотрим ниже позволяет размещать информацию на страницах любого пользователя или группы к которому имеет доступ авторизованному пользователю.

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

На практике все оказалось довольно просто. Если не обращать внимание на косяки документации, которые мы будем отмечать особым "образом" в серии статей кросспостинга.

Прежде всего необходимо создать Standalone-приложение. Сделать это можно следуя следующим пунктам:

  1. Перейдем в раздел разработчикам и нажмем кнопку "Создать приложение".
  2. Выбираем тип приложения "Standalone-приложение" и вводим любое имя приложения. Например: Auto msg.
  3. После нажатия по кнопке «Подключить приложение» у вас затребуют код, который придет вам в виде СМС в течении минуты на мобильный номер телефона указанный в профиле пользователя под которым вы авторизованы.
  4. Отлично! У Вас уже есть standalone-приложение.

PS в дальнейшем информацию вашего приложения вы можете редактировать на странице Приложения.

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

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

  1. Переход на страницу Приложения и жмем кнопку "Настройки". Далее ищем ваше созданное приложение в разделе "Администрируемые приложения" и жмем кнопку "Редактировать".
  2. При желание вы можете пройтись по всем вкладкам и заполнить все необходимые для вас поля.
  3. Переходим на вкладку "Настройки" и заполняем обязательные поля: адрес сайта, Базовый домен (домены которым разрешен доступ к API). Значение "ID приложения" вам необходимо запомнить, оно нам пригодится в дальнейшем.
  4. Не забудьте сохранить изменения.

Далее что нам необходимо - это получить доступ вашего сайта к методам API. Для этой процедуры ВК использует Авторизация на базе OAuth 2.0. Принцип авторизации очень простой:

  1. Формируем ссылку http://api.vkontakte.ru/oauth/authorize?client_id=&scope=&redirect_uri=http://api.vk.com/blank.html&response_type= где:
    client_id - Ваш id приложения;
    scope - запрашиваемые права доступа приложения, которые можно перечислять через запятую. В данном случае приложение запрашивает доступ к API со стороннего сервера в любое время (offline) и wall – доступ к методам работы со стеной;
    redirect_uri - ссылка для возврата ответа сервера. В нашем случае обязательный параметр равный http://api.vk.com/blank.html, т.к. только данный способ авторизации имеет возможность получить доступ к методам работы со стеной.
    response_type - собственно тот параметр который мы хотим получить - access_token.
  2. Переходим по получившейся ссылке( в этот момент вы должны быть авторизованы) и разрешаем доступ приложению.
  3. Далее Вас перебрасывает на ссылку http://api.vk.com/blank.html с рядом параметров. Нужный нам параметр access_token. Копируем его значение куда-нибудь. Оно нам необходимо для доступа к API.

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

  1.  Формируем GET запрос https://api.vk.com/method/wall.post?owner_id=&friends_only=&from_group=&message=&attachments=&access_token= где:
    owner_id - идентификатор пользователя или сообщества, на стене которого должна быть опубликована запись. Обратите внимание, что идентификатор группы обозначается со знаком "-".
    friends_only - 1 — запись будет доступна только друзьям, 0 — всем пользователям. По умолчанию публикуемые записи доступны всем пользователям.
    from_group - Данный параметр учитывается, если owner_id < 0 (запись публикуется на стене группы). 1 — запись будет опубликована от имени группы, 0 — запись будет опубликована от имени пользователя (по умолчанию).
    message - текст сообщения (является обязательным, если не задан параметр attachments)
    attachments - список объектов, приложенных к записи и разделённых символом ",". Поле attachments представляется в формате: 
    <owner_id>_<media_id>,<owner_id>_<media_id>

    — тип медиа-приложения:
    • photo — фотография;
    • video — видеозапись ;
    • audio — аудиозапись;
    • doc — документ;
    • page — wiki-страница;
    • note — заметка;
    • poll — опрос.
    • album — альбом.

    <owner_id> — идентификатор владельца медиа-приложения
    <media_id> — идентификатор медиа-приложения.

    Например:

    photo100172_166443618,photo66748_265827614

    Также в поле attachments может быть указана ссылка на внешнюю страницу, которую Вы хотите разместить в записи, например:
    photo66748_265827614,http://habrahabr.ru

    При попытке приложить больше одной ссылки будет возвращена ошибка.

    Параметр является обязательным, если не задан параметр message.



    access_token - ключ доступа к методу API, который мы с вами ранее сохранили.
  2. В ответ на данный запрос сервер возвращает строку JSON, где в случае успешного вызова метода API wall ваше сообщение опубликуется и вам вернется id сообщения в строке JSON, в противном случае вернется код ошибки и текстовое описание.

В заключение мы хотели бы отметить, что организация кросспостинговой системы с соц. сетью "Вконтакте" задача не сложная, и ,не смотря на немногочисленные ошибки в документации для разработчика, методология работы с API вполне доступно и достойно описана. Теперь Вы владеете знанием о принципе организации кросспостинговой системы с соц. сетью "Вконтакте". Обладая знаниями данного принципа у вас не возникнет затруднений в реализации кроспостинга на любом языке программирования. Хотим еще раз отметить инновационность и значимость данного метода раскрутки ресурсов, который позволяет охватить большую предполагаемую аудиторию и, как следствие, повысить посещаемость, тиц, Google PR, привлечение трафика с бесплатных блог-площадок, увеличение популярности в блогосфере (создание имиджа).

Как читать свои сообщения ВКонтакте через API

Я любитель использовать API для «общения» с повседневными сервисами. Например, моя статья о API Яндекс.Метрики как раз об этом: как без интерфейса получать нужные данные. Не так давно меня посетила мысль использовать API ВКонтакте, вместо привычного интерфейса. Зачем это может быть нужно? Например, чтобы прочитать свои сообщения, при этом не заходя на страницы vk.com, а значит не появляясь онлайн. У меня вот есть социофобская черта — я не люблю появляться Вконтакте онлайн, но иногда туда приходят сообщения, и было бы неплохо иметь возможность эти сообщения читать, при этом онлайн не появляясь.

Получить доступ к API для доступа к пользовательским данным можно в 3 шага:

  1. Создание приложение
  2. Получения токена для доступа к данным от имени пользователя
  3. Запрос для получения входящих сообщений

Первый и второй шаг нужно сделать 1 раз, а третий шаг придется выполнять каждый раз, когда захочется прочитать свои сообщения ВКонтакте.

Итак, первый шаг: создание своего приложения для API Вконтакте.

1 . Заходим на страницу http://vk.com/dev
2 . Выбираем «Создать приложение»

3 . Задаем название и выбираем тип «Standalone-приложение», после чего нажимаем «Подключить приложение»

4 . Потом нужно подтвердить приложение с помощью СМС-кода, отправленного на телефонный номер
5 . Приложение создано и нас встречает страница с информацией о нашем приложении

6 . Переходим на страницу «Настройки» и в поле «Состояние» выбираем «Приложение включено и видно всем»

7 . Нажимаем «Сохранить изменения»
8 . Также на этой странице нам пригодятся ID приложения (в красной рамке на изображении ниже) и защищенный ключ (и в синей рамке на изображении ниже)

Второй шаг: получение токена для доступа к данным
Этот шаг надо делать будучи залогиненным Вконтакте под тем пользователем, к данным которого нужно получить доступ.
1 . Делаем в браузере запрос https://oauth.vk.com/authorize?client_id=5086933&display=page&redirect_uri=https://oauth.vk.com/blank.html&display=page&scope=messages,offline&response_type=code&v=5.37, где client_id — это ID нашего приложения со страницы настроек. В параметре «scope» перечисляются права доступа нашего приложения. В нашем случае, «messages» означает, что приложение будет иметь доступ к чтению сообщений пользователя. Разрешение «offline» дает нашему приложению доступ к данным пользователя в любое время, при этом доступ будет бессрочный. Помимо «messages» можно задать другие разрешения, которые надо также перечислять через запятую. Например, разрешение «friends» дает доступ к друзьям, тогда scope=messages,friends,offline. Про все возможные разрешения написано тут.
2 . Мы окажемся на странице, где должны разрешить созданному приложению доступ к аккаунту:

3 . Нажимаем «Разрешить»
4 . После этого нас перебросить на страницу вида https://oauth.vk.com/blank.html#code=ce72f6a9157bef81f6, где параметр code содержит верификационный код, действительный 1 час с момента его получения. Копируем этот код
5 . Делаем в браузере запрос https://oauth.vk.com/access_token?client_id=5086933&client_secret=kQwYLYh22Ar21eJzh4R7&redirect_uri=https://oauth.vk.com/blank.html&code=ce72f6a9157bef81f6, где client_id — ID приложения со страницы настроек, client_sercet — защищенный ключ (также со страницы настроек приложения), а code — верификационный код, который мы получили в предыдущем пункте

6 . На открывшейся странице будет в формате JSON представлен токен для доступа в значении ключа access_token:

P.S.: Чтобы JSON смотрелся в браузере также хорошо («pretty») как у меня на скриншоте надо установить какое-нибудь разрешение для браузера, позволяющее
Помимо кода доступа JSON содержит ключ expires_in, содержащий срок действия токена (у нас там 0, т. к. токен бессрочный) и user_id пользователя, доступ к данным которого возможен с помощью полученного токена. Копируем токен, он нам теперь будет нужен каждый раз, когда мы будем делать запрос к API.

Третий и последний шаг: получение списка входящих сообщений
Перечень всех методов для работы с API Вконтакте доступен по ссылке, но нам пока пригодится только метод messages.get, с помощью которого можно получить список входящих или исходящих сообщений. Вполне возможно, что захочется еще и отправлять сообщения, тут нужен метод messages.send.

Использовать метод messages.get предельно просто:
Просто делаем запрос вида https://api.vk.com/method/messages.get?access_token=f73dc057f8d81d96, где access_token — токен для доступа, который мы получили на втором шаге. Получаем приблизительно такую картину:

Каждый объект в массиве response — это отдельное сообщение, body — это текст сообщения, uid — идентификатор пользователя, отправившего сообщение, read_state — прочитано ли сообщение (1) или не прочитано (0), out — входящее сообщение (0) или исходящее (1), date — дата сообщения в формате posix, mid — идентификатор сообщения.

Чтобы получить исходящие сообщения к запросу надо добавить параметр out=1:
https://api.vk.com/method/messages.get?access_token=f73dc057f8d81d96&out=1

Вот такой нетривиальный способ читать свои сообщения Вконтакте.

Вступайте в группу на Facebook и подписывайтесь на мой канал в Telegram, там публикуются интересные статьи про анализ данных и не только.

1000 друзей Павла Дурова: как выкачивать данные ВКонтакте

Введение

Практически всем, кто занимается количественными исследованиями, знакома следующая проблема: идея есть, а данных для её реализации нет. И хотя сейчас существует немало сайтов с данными (например, Kaggle.com (https://www.kaggle.com/), где можно найти как корпус обзоров на вино, так и классификатор древнеяпонских иероглифов или метаданные по коллекциям Metropolitan Museum of Art), все равно найти что-то готовое, что соответствовало бы индивидуальным нуждам конкретного исследования, довольно сложно. В таких случаях остается одно: выкачивать данные самостоятельно.
ВКонтакте — ценный источник данных, который может помочь в лингвистических, социологических и других исследованиях. Хочется исследовать корпус авторских стихотворных сочинений подростков? Пожалуйста, практически готовый корпус уже ожидает тебя в группе, посвященной поэзии! Хочется понять, как в реальности работает теория шести рукопожатий? Выкачай случайных пользователей и построй граф!
На самом деле, это совсем не сложно, и сегодня мы покажем, как скачать заветные данные.

Что понадобится?

  1. Аккаунт ВКонтакте
  2. Среда для работы с Python* (уметь программировать почти не надо)
  3. Желание и немного времени

*Например, любые IDE: PyCharm, Sublime Text или любой другой, какой душе угодно. Мы в данном руководстве будем использовать оболочку Jupyter, функционал которой удобен для аналитики: можно писать и редактировать код на каждом этапе, не прогоняя всю программу целиком, строить красивые визуализации и делать ещё кучу всего интересного. Подробнее об установке и возможностях Jupyter можно посмотреть тут.

Примите во внимание, что код для туториала написан с целью помочь понять, что происходит и как все работает, поэтому не является образцом великолепия.

Этап 1. Получение ключа к ВК API

Первый шаг на пути к данным состоит в том, чтобы получить доступ к ВKонтакте API (Application Programming Interface), с помощью которого мы и будем дальше взаимодействовать с ВКонтакте. API содержит в себе множество методов, которые позволяют быстро доставать из базы ВК нужную информацию, например, со страниц пользователей, групп и т.д. (вернее, только ту информацию, которая не скрыта).
Чтобы иметь возможность их использовать, надо авторизоваться в ВК и создать Standalone приложение на странице API. Для этого надо во вкладке Мои приложения нажать Создать приложение.
Дальше надо выбрать Standalone-приложение, назвать его и подключить.
Как только вы его подключите, вы окажетесь во вкладке Информация, где находятся описание, название и т.д. Здесь трогать ничего не нужно, и можно сразу перейти на вкладку Настройки слева. Здесь мы смотрим на Сервисный ключ доступа, который надо скопировать или запомнить, потому что он нам понадобится дальше.
Страничку API пока оставляем открытой, мы к ней ещё вернемся чуть позже.

Часть 1. Пользователи

Шаг 1

Теперь, когда у нас есть ключ доступа к API, можно смело переходить к самой интересной части — написанию кода. Для начала устанавливаем библиотеки и подгружаем нужные модули оттуда. В туториале мы будем использовать библиотеку requests — пакет, который позволяет посылать http-запросы на сервер и отдавать ответы на эти запросы в различных форматах*.

 import requests

** Если не знаете как устанавливать библиотеки в Python, не пугайтесь, Интернет полон различных гайдов о том, как это делать. Например, вот.
***На самом деле, это только один из способов добычи данных ВКонтакте через Python. Существует ещё некоторое количество библиотек, которые позволяют получать ответы от ВКонтакте API другими способами. Они очень хорошо гуглятся, так что при желании можно освоить и альтернативные техники. Или если кто-то уже знаком с другими методами, будет здорово услышать о них в комментариях).

Шаг 2

Теперь разберемся в том, как, собственно, делать запросы к ВКонтакте API. По сути, все это нам уже рассказали разработчики: мы формируем http-запрос о нужной нам информации, который мы отправляем в базу ВК. При этом разработчики ВК даже предлагают шаблон запроса:
Часть, которая нам интересна, выделена жирным шрифтом:
METHOD_NAME — обязательный параметр — метод, который мы хотим применить. Выбирается в зависимости от того, какую информацию мы хотим достать из базы. Полный список методов ВКонтакте API доступен по ссылке. Метод отделяется от последующих частей запроса символом ?.
PARAMETERS — это уже опциональный параметр, для каждого метода свой набор. Каждый метод по умолчанию отдает некоторую изначальную информацию, которую можно расширить с помощью этого параметра. Если параметров несколько, то они разделяются между собой символом &.
ACCESS_TOKEN — помните тот сервисный ключ доступа со странички разработчиков, который мы запомнили ранее? Это он и есть. Ключ обязателен при составлении запроса.
V — версия ВК API, без которой также нельзя сформировать запрос. На момент написания статьи версия API — 5.92.

Шаг 3

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

Появился список методов для работы с данными пользователей.

Шаг 4

Итак, попробуем вытащить расширенную информацию о пользователе. Откроем страницу метода get и внимательно читаем параметры. Допустим, мы хотим получить информацию о пользователе с идентификатором 1 (user_ids=1).
Для начала запишем ключ доступа и версию ВК API в отдельные переменные формата «строка», чтобы мы могли их использовать потом****.

access_token = 'your token'
api_version = '5.89'

* Заметьте, что так как мы используем Jupyter Notebook, нам не требуется создавать отдельный файлик на компьютере, хотя такой вариант и возможен. Но мы просто зададим ключи как переменные в отдельной ячейке скрипта. Теперь сформируем запрос к API. Для обращения к методу надо перед его названием написать, к какой группе он относится (так как названия методов пересекаются в различных группах). Мы записываем запрос как форматируемую строку, где значения в {} будут принимать значения переменных, которые там записаны**.

res_users = requests.get(f'https://api.vk.com/method/users.get?user_ids=1&access_token={access_token}&v={api_version}')

И посмотрим на результат

res_users.json()

По умолчанию (без заданных параметров) мы получили просто имя, фамилию и статус страницы.

***** Если вы хотите получить информацию больше, чем об одном человеке, вы можете записать их идентификаторы через запятую. Если пользователей много, то можно задать их id в отдельной переменной (допустим, загрузить из файла), и записать её также в {}. Важно, чтобы они были разделены через запятую. Подробнее о форматировании строк в Python.

Шаг 5.

Теперь добавим конкретики. Допустим, мы хотим получить ещё даты рождения, страну и город. Эти поля находятся в параметре fields, как говорит нам документация.

res_users = requests.get(f'https://api.vk.com/method/users.get?user_ids=1&fields=bdate, city&access_token={access_token}&v={api_version}')

Шаг 6.

Пойдем дальше: скачаем 200 друзей Павла Дурова и запишем их в отдельный список. Для этого нам потребуется функция из той же вкладки Users — getFollowers.
Сначала оформим запрос в виде строки, в которой мы будем потом форматировать части, находящиеся в {}.

url = ’https://api.vk.com/method/users.getFollowers?user_id=1&fields=city,country&count=100&offset={offset}&access_token={access_token}&v={api_version}’

Тут у нас появляется новые параметры — count и offset. Сount показывает, сколько друзей за один запрос мы будем выкачивать, а offset — на сколько значений мы будем сдвигаться каждый раз, когда отправляем новый запрос. То есть если бы параметра offset не было, мы бы каждый раз скачивали только 100 первых друзей, а с ним мы по очереди (итеративно) выбираем каждую следующую сотню.
Итак, сначала мы создаем пустой список friends, в который мы потом запишем выгруженных пользователей. Потом мы определяем, какие отступы (offset) у нас будут каждый раз и с каким шагом. За это отвечает функция range: условно говоря, у нас будет 3 шага от 0 до 300, каждый из которых будет равен 100. После чего мы циклом выкачиваем по 100 подписчиков за каждую итерацию. И в конечном итоге записываем фамилии пользователей в список.

friends = []
for i in range(0, 201, 100):
	url_formatted = url.format(access_token = access_token, api_version = api_version, offset = i)
	print(i)
	res_friends = requests.get(url_formatted)
	for friend in res_friends.json()["response"]['items']:
        friends.append(friend["last_name"])

И вуаля! Список подписчиков готов!

Часть 2. Сообщества

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

res_wall = requests.get(f'https://api.vk.com/method/wall.get?domain=hsehokku&count=100&access_token={access_token}&v={api_version}')

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

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

Шаг 1

Пишем строку запроса, в который добавляем параметр offset, который отвечает за отступы.

url = 'https://api.vk.com/method/wall.get?domain=hsehokku&count=100&offset = {offset}&access_token={access_token}&v={api_version}'

Шаг 2

Создаем пустой список texts, в который будем записывать тексты. Потом пишем цикл, который будет выкачивать по 100 постов за каждую из 4-ех итераций, и записывать каждый пост в созданный список.

texts = []
for i in range(0, 301, 100):
	url_formatted = url.format(access_token = access_token, api_version = api_version, offset = i)
	print(i)
	res_wall = requests.get(url_formatted)
	for post in res_wall.json()["response"]['items']:
    	texts.append(post["text"])

Посмотрим на то, как это выглядит в списке:
Ага, в тексте есть лишние символы, а точнее \n. Это всего лишь разделитель: он показывает, что текст в данном месте в оригинале начинается с новой строки.

Шаг 3

Создаем в корневой папке на компьютере файл texts.txt, в который мы и запишем итоговый результат.

Шаг 4

Записываем посты из списка texts в файл texts.txt. И заменим символы \n в тексте на нормальные разделители строки.

with open("vk.texts.txt", "wt", encoding = "utf8") as f:
	for text in texts:
    	f.write(text.replace("\n", " ") + "\n")

Поздравляем, вы стали счастливым обладателем сборника страдальческих студенческих хокку!
В туториале показаны основы работы в ВКонтакте API с помощью Python. На деле ВК может предоставить намного больше: можно искать пользователей по заданным критериям, скачивать фотографии и ещё кучу всего интересного. Главное теперь — не бояться обилия методов в документации и искать то самое, что нужно именно вам.

Полный код на Github

вконтакте-api - нпм

Библиотека TypeScript для упрощения выполнения запросов к VK API.

Документы: EN / RU

Установка

или

Описание

vkontakte-api следует концепции на основе репозиториев, где каждый репозиторий является class и представляет некоторое пространство имен в API. Основное назначение репозитория заключается в форматировании конфигурации запроса для экземпляра VKAPI, чтобы он мог выполнять запрос и вернуть данные.

Каждый запрос добавляется в очередь и выполняется только после истечения тайм-аута. по ппс собственности.Итак, нет случая, когда ты был забанен из-за отправки слишком большого количества запросов в секунду.

Имеется поддержка многопоточности (multi-worker) для тех проектов, которые запускается в этом режиме.

Использование

Создание экземпляра

Во-первых, необходимо создать VKAPI instance:

 импорт {VKAPI} из vkontakte-api;

const api = новый VKAPI; 

Допускается пропуск rps (что по умолчанию 3 ), что означает запросов в секунду .VK API имеет свои ограничения, поэтому убедитесь, что у вас есть передано правильное значение.

Кроме того, вы можете передать свойства accessToken и lang , которые будут используется в качестве параметров по умолчанию для каждого запроса. Значит, вам не нужно их передавать каждый раз, пока не потребуется переопределение:

 const api = новый VKAPI ({
  об / с: 20,
  accessToken: 'мой токен по умолчанию',
  lang: 'en',
}); 

Создание и использование собственного репозитория

В случае, если вы хотите создать новый репозиторий (например, если он не в настоящее время реализовано) вы можете использовать такой код:

 импорт {VKAPI, TSendRequest, Repository} из vkontakte-api;

// Во-первых, опишите параметры и результат.Не забывайте, что отправленные параметры
// будет в змеиной оболочке, а результат - в верблюжьей оболочке.
/ **
 * @ см. https://vk.com/dev/auth.restore
 * /
интерфейс экспорта IRestoreParams {
  телефон: строка;
  lastName: строка;
}

интерфейс экспорта IRestoreResult {
  успех: 1;
  сид: строка;
}

// Создаем класс репозитория, который должен расширять абстрактный репозиторий.
класс экспорта AuthRepository расширяет репозиторий {
  конструктор (sendRequest: TSendRequest) {
    // Вызываем конструктор репозитория и в качестве первого аргумента передаем
    // Имя пространства имен API.// @ см. https://vk.com/dev/auth
    супер ('авторизация', sendRequest);
  }

  / **
   * @ см. https://vk.com/dev/auth.restore
   * @type {(params: (IRestoreParams & IRequestOptionalParams)) => Обещание }
   * /
  // Описать все методы репозитория. В качестве первого мы должны передать имя метода.
  // В качестве второй - функция, изменяющая переданные параметры, но мы
  // хочу. Вы можете использовать такие функции, как "formatOptionalArray" или
  // "formatOptionalBoolean" из 'vkontakte-api'.restore = this.r  ('восстановить');
}

// Когда репозиторий создан, мы просто добавляем его в экземпляр VKAPI.
const api = новый VKAPI (). addRepository ('auth', AuthRepository);

// На данный момент TypeScript знает о таком репозитории как 'auth'.
api.auth.restore ({телефон: '...', lastName: '...'}); 

В случае, если вы пытаетесь добавить уже существующий репозиторий, TypeScript будет выдает ошибку, говоря, что имя репозитория, переданное в addRepository , имеет тип никогда .

Режим браузера

Если вы используете VKAPI на стороне браузера, вы можете использовать свойство isBrowser что по умолчанию ложно . В случае, если это значение истинное , экземпляр api выполняет запросы в режиме обратного вызова JSONP. Не влияет на внешний поток кода. Если это значение не передано, запросы будут выполнены в обычном режиме и на стороне браузера они выйдут из строя из-за CORS ВКонтакте.

 const api = новый VKAPI ({isBrowser: true}); 

Выполнение запросов

Экземпляр VKAPI содержит список репозиториев, которые генерируют параметры запроса. отправить в API.Каждый репозиторий имеет имя в соответствии с его именем в API.

Простой пример отправки запроса и регистрации данных:

 импорт {VKAPI} из vkontakte-api;

const api = новый VKAPI ({accessToken: 'мой личный токен'});

api.users.get ({userIds: ['vladkibenko']}). затем (console.log); 

Отправка уведомления:

 api.notifications.sendMessage ({
  userIds: ['владкибенко'],
  сообщение: 'Привет Влад!',
}); 

Замена по умолчанию lang и accessToken :

 импорт {ELang, VKAPI} из vkontakte-api;

const api = новый VKAPI ({accessToken: 'мой личный токен'});

// Здесь мы получим данные с английской локализацией от имени в app.api.users.get ({
  userIds: ['владкибенко'],
  accessToken: 'некоторый токен приложения',
  // Или вы можете просто использовать 'en' или 3.
  lang: ELang.EN,
}). затем (console.log); 

Некоторые методы или репозитории все еще не реализованы. Тем не менее, вы бесплатно для выполнения индивидуальных запросов. Убедитесь, что все Params и Response поля имеют верблюжий корпус, потому что внутри vkontakte-api перемещает их из футляр от змеи до верблюда для облегчения использования :

 импорт {VKAPI} из vkontakte-api;

const api = новый VKAPI ({accessToken: 'мой токен'});

// Описание параметров.interface Params {
  cityIds: строка;
}

// Описание ответа.
type Response = Array <{
  идентификационный номер;
  название: строка;
}>;

// @ см. https://vk.com/dev/database.getCitiesById
api.addRequestToQueue  ({
  метод: 'database.getCitiesById',
  params: {
    cityIds: [1] .join (','),
  },
}). затем (console.log); 

Ошибки

Иногда API выдает ошибки. Чтобы определить, возникла ли ошибка ВКонтакте, вы можете используйте функцию isVKError . Он содержит такие свойства, как errorInfo , которые содержит все данные об ошибках из ВК и config , который использовался для выполнения запроса.

Кроме того, lib содержит перечисление EErrors , которое представляет собой набор всех известных ошибок.

Поддержка многопоточности

Если ваш проект работает в режиме нескольких кластеров, вы можете использовать VKAPIProvider и VKAPIConsumer .

VKAPIProvider должен использоваться в основном потоке, а VKAPIConsumer s - в подчиненном. потоки.

Вот простой пример:

 import {fork, isMaster, Worker} из «кластера»;
импортировать os из 'os';
импортировать {VKAPI, IVKAPI} из 'vkontakte-api';
импортировать {VKAPIProvider, VKAPIConsumer} из 'vkontakte-api / dist / multithreading';

// Запускает http-сервер.Принимает объект, похожий на экземпляр VKAPI. Так,
// он не знает, что такое api. Это может быть реальный экземпляр VKAPI или
// VKAPIConsumer.
функция http (api: IVKAPI) {
  // Здесь мы можем использовать все методы VKAPI
  api.users.get ({userIds: ['vladkibenko']}). затем (console.log);
}

// Просто заглушка. Вы можете использовать нужную вам логику
const isDev = process.env.NODE_ENV === 'разработка';

// В режиме разработки запустим одиночный поток. Итак, никакого VKAPIProvider и
// Потребитель VKAPIC.
if (isDev) {
  const api = новый VKAPI ();
  
  // Запускаем http сервер
  вернуть http (api);
}

// В производственном режиме мы создаем столько форков, сколько поддерживает процессор.if (isMaster) {
  const cpuCount = os.cpus (). длина;
  рабочие константы: Рабочий [] = [];

  for (let i = 0; i 
 
Определение связи между поставщиком и потребителем

Редкий случай, когда в вашем проекте 2 провайдера с разные VKAPI экземпляров. Например, вы можете создать отдельный api экземпляры для группы и приложения, которые используют разные токены доступа.

Итак, разрешено передавать одно и то же свойство tunnelName и для провайдера, и для потребитель.Вот как это работает:

 импорт {isMaster} из "кластера";
импортировать {VKAPI} из 'vkontakte-api';
импортировать {VKAPIProvider, VKAPIConsumer} из 'vkontakte-api / dist / multithreading';

if (isMaster) {
  const cpuCount = os.cpus (). длина;
  рабочие константы: Рабочий [] = [];

  for (let i = 0; i 
 

Реализованные методы

Как получить ID приложения Вконтакте и Secure Key? - Блог Knowband

Это руководство представляет собой пошаговое руководство по получению таких сведений API Vkontakte, как Application ID и Secure Key.Эти данные API можно использовать для настройки входа в социальную сеть Вконтакте на вашем сайте. Блог проведет вас через процесс получения идентификатора приложения Вконтакте и Secure Key. Читайте дальше, чтобы узнать, как получить подробную информацию об API.

Шаги для получения ID приложения Вконтакте и Secure Key

Шаг 1: Зайдите на сайт разработчика Вконтакте и войдите в свою учетную запись пользователя Вконтакте.

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

Шаг 2: После входа в аккаунт Вконтакте вы будете перенаправлены на новую страницу. Здесь нажмите «Создать приложение» .

Шаг 3: В следующем интерфейсе откроется небольшая форма, которую необходимо заполнить. Заполните форму, как показано на изображении ниже:

Введите имя приложения, выберите «Веб-сайт» в разделе «Категория».Затем укажите URL-адрес вашего сайта и ваше базовое доменное имя.

Шаг 4: После заполнения формы нажмите «Подключить сайт» кнопку.

Шаг 5: Затем перейдите на вкладку «Настройки» в левой строке меню. Здесь вы найдете свой идентификатор приложения и ключ безопасности. Но перед этим вам необходимо настроить Open API, указав URL-адрес сайта и URL-адрес перенаправления, как показано на изображении ниже:

Шаг 6: Нажмите Сохранить кнопку .Теперь вы можете скопировать данные API и вставить их в свой модуль входа в соцсети, поддерживающий вход Вконтакте.

Примечание: Если вы используете наш модуль входа в систему через социальные сети (для PrestaShop, OpenCart или Magento), вам просто нужно скопировать и вставить эти данные API в соответствующие поля, которые выглядят следующим образом:

Понравилось? Тебе это тоже понравится

ВКонтакте, yii \ authclient \ clients \ VKontakte | Документация по API | yiisoft / yii2-authclient

ВКонтакте разрешает авторизацию через VKontakte OAuth.

Чтобы использовать VKontakte OAuth, вы должны зарегистрировать свое приложение на http://vk.com/editapp?act=create.

Пример конфигурации приложения:

  'компоненты' => [
    'authClientCollection' => [
        'class' => 'yii \ authclient \ Collection',
        'клиенты' => [
            'vkontakte' => [
                'class' => 'yii \ authclient \ clients \ VKontakte',
                'clientId' => 'vkontakte_client_id',
                'clientSecret' => 'vkontakte_client_secret',
            ],
        ],
    ]
    
]
  

См. Также:

Сведения об объекте

Базовый URL API.Это поле будет использоваться как значение \ yii \ httpclient \ Client :: baseUrl для httpClient. Примечание: изменение этого свойства не вступит в силу после создания экземпляра httpClient.

Список имен атрибутов, которые следует запрашивать у API для инициализации пользовательских атрибутов.

публичный массив $ attributeNames = ['uid', 'first_name', 'last_name', 'nickname', 'screen_name', 'sex', 'bdate', 'city', 'country', 'timezone', 'photo']

Конечная точка URL запроса токена.

Подробности метода

Применяет маркер доступа к экземпляру HTTP-запроса.

Возвращает значение normalizeUserAttributeMap по умолчанию.

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

Инициализирует атрибуты аутентифицированного пользователя.

ForgeRock Identity Management 7> Справочник по самообслуживанию> Подробная информация о конфигурации провайдера социальной идентификации Вконтакте

Вы можете настроить провайдера социальной идентификации Вконтакте через интерфейс администратора или в файле conf / identityProvider-vkontakte.json . IDM генерирует файл identityProvider-vkontakte.json при настройке и включении этого поставщика социальной идентификации в пользовательском интерфейсе администратора. Кроме того, вы можете создать файл вручную.

Следующая таблица включает информацию, отображаемую во всплывающем окне Admin UI Vkontakte Provider, вместе со связанной информацией в файле identityProvider-vkontakte.json :

Vkontakte Social Identity Provider Configuration Properties

Свойство (UI) Свойство (файл JSON) Описание
Идентификатор приложения clientId Идентификатор клиента для вашего приложения Vkontakte
Secure Client Используется с идентификатором клиента для доступа к соответствующему API ВКонтакте.
Область действия Область действия Массив строк, обеспечивающий доступ к пользовательским данным.
Конечная точка авторизации конечная точка авторизации Обычно https://oauth.vk.com/authorize .
Конечная точка токена tokenEndpoint Конечная точка, которая получает одноразовый код авторизации и возвращает маркер доступа; обычно "https://oauth.vk.com/access_token
Конечная точка информации о пользователе userInfoEndpoint Конечная точка, которая передает поля, связанные с областью действия; обычно https: // api.vk.com/method/users.get
Версия API apiVersion Версия применимого API ВКонтакте, доступная по ссылке VK Developers Documentation, API Versions section. Версия API ВКонтакте по умолчанию для IDM 7 - 5.73.
Не в пользовательском интерфейсе администратора поставщик Имя поставщика социальной идентификации
Не в пользовательском интерфейсе администратора configClass Класс конфигурации для модуля аутентификации
Не в пользовательский интерфейс администратора basicAuth Следует ли использовать базовую аутентификацию
Не в пользовательском интерфейсе администратора authenticationIdKey Свойство идентификации пользователя, например id
Не в пользовательском интерфейсе администратора propertyMap Сопоставление Вконтакте и IDM

Информацию о кнопках и значках провайдера социальной идентификации см. В разделе «Свойства кнопки и значка провайдера социальной идентификации».

Войти

Для авторов CPAN

Вы можете использовать форму ниже, чтобы войти в систему с вашим ИД пользователя и паролем ПАУЗЫ.

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

Хочу ...

... найти дистрибутив и просмотреть его ошибки?

Этот сайт позволяет вам искать для рассылок по имени или автору.Когда вы нашли дистрибутив, который вы ищете, вы можете просматривать известные ошибки и сообщать о новых ошибках.

... сообщить об ошибке в модуле через веб-интерфейс?

Используйте один из перечисленных здесь вариантов аутентификации для входа в систему. Auth0 предоставляет несколько вариантов, включая вход в Google и Github. Авторы модуля могут использовать учетные данные PAUSE для управления своими очередями.

... сообщить об ошибке в модуле по электронной почте?

Чтобы отправить отчет об ошибке для данного распределения по электронной почте, отправьте письмо to bug- <имя-распространения> @rt.cpan.org , где "<имя-распространения>" - это что-то вроде DBIx-SearchBuilder или Класс-DBI или Acme-Current-Forever. Использовать поиск, чтобы найти имя распределение.

Примечание. Содержание любого отправленного вами электронного письма будет общедоступно в Интернете.

... ответить на существующую ошибку по электронной почте?

Отправьте электронное письмо на адрес электронной почты распространения (см. Выше) с тегом, например следующий где-то в теме: [rt.cpan.org # NNNNN ] .Замените NNNNN существующим номером ошибки.

... сообщить об ошибке в самом perl?

Чтобы сообщать об ошибках в самом Perl, лучше всего использовать командную строку инструмент perlbug или переход к системе отслеживания проблем GitHub.

... управлять ошибками в ваших дистрибутивах?

Для работы с ошибками каждый автор модуля с Учетная запись PAUSE может войти в rt.cpan.org с их идентификатором пользователя PAUSE и паролем. Если вы не можете войти или поддерживаемых вами дистрибутивов нет в списке, вы можете отправить электронное письмо по адресу rt-cpan-admin @ bestpractical.com.

... знаете больше об этой услуге?

Узнайте больше о rt.cpan.org.


vkontakte-api- Список сопутствующих вопросов

Учебное пособие для
  • Дом
  • Подробнее ..
  • Поиск регистр авторизоваться
Главная> Тег> vkontakte-api VK API: Standalone Token для сайта, как получить? vkontakte-api

Я написал бота на Python, но через некоторое время он вылетает, как сделать его перезапуск питон питон-3.Икс vkontakte-api

php: Callback API ВКонтакте несколько раз отправляет сообщение php vkontakte-api

1

Python 3.8.2 | VKBOTLONGPOLL 5.103 Чат-бот ВКонтакте. Нужно сделать команду на смену Ника на любого пользователя vkontakte-api питон-3.8

4 1

python скачать файлы vk питон python-3.x vkontakte-api

3 3

python: предложение API ВКонтакте питон vkontakte-api

4

python: невозможно определить свой ID ВКонтакте питон vkontakte-api

2

Можно ли как-то взять пост из сообщества в ВК и отправить в группу? ВК-API Python питон vkontakte-api

3

python: Как установить бота с таймером питон питон-3.Икс vkontakte-api

5 3

php: Как получить сразу все товары? ВК API. php vkontakte-api

5

python: Бот ВК с вики-модулем питон python-3.x vkontakte-api

2

python: Бот для ВК с командой для вики питон python-3.x vkontakte-api

2

python: Бот ВК для отправки фото питон питон-3.Икс vkontakte-api

7

javascript: Как получить идентификатор разговора, в котором написано сообщение javascript node.js vkontakte-api

4 2

php: API ВКонтакте Отправка поста в группе, сначала картинка, потом php vkontakte-api

7 1

python: Можно ли убрать сообщение пользователя в разговоре у всех, с помощью чат-бота в ВК питон vkontakte-api

4

Вопрос по API Telegram vkontakte-api Telegram-бот телеграмма-api

8

javascript: Ловля Шера не отображается на стене в ВК на мобильном? ВКонтакте.SHARE метод javascript vkontakte-api совместное использование

6

Ограничение на пользователя. ВК api, python 3.x.x python-3.x vkontakte-api

3

python: как убрать пробелы при отображении? питон vkontakte-api

3 3

  • 1
  • 2
  • 3
  • 4
  • 5

Тенденции

    © 2019 Руководство по программированию для начинающих

    Как подключить ВКонтакте? | Chat2Desk.com База знаний

    1. Создайте публичную страницу. Возможные варианты:

    • бизнес;

    • тематическое сообщество;

    • торговая марка или организация;

    • публичная страница.

    Если страница уже существует, убедитесь, что у вас есть права администратора.

    1. Включите возможность отправки сообщений группе в Управление> Сообщения .Сохраните настройки.

    1. Включите функции бота в Управление> Сообщения> Настройки бота . Сохраните настройки.

    1. Создайте ключ для работы со страницей по API в Управление> Настройки> Использование API .

    При создании ключа необходимо отметить все пять пунктов Разрешить ... . При необходимости подтвердите действие SMS или через устройство.

    1. Отправить в техподдержку через виджет на сайте:

    1. Настроить параметры работы API. Перейдите в Manage> Settings> API> Callback API> вкладка Server Settings .

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

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