Работа с api Вконтакте что это

Содержание
    screen4.png
    screen3.png
    screen2.png
    screen1.png

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

Для создания приложения необходимо перейти по этой ссылке: https://vk.com/editapp?act=create

На станице создания приложения необходимо ввести название вашего приложения и выбрать тип «Standalone-приложение».

Для подтверждения действия необходимо получить на мобильный телефон сообщение с кодом.

03-08 Знакомство с API ВКонтакте

В результате будет создано приложение. Смысл всех этих действий в получении ID приложения, которое и будет использоваться в запросах к API.

Авторизация на сайте ВКонтакте.

Перед работой с API необходимо авторизироваться. ВКонтакте используется способ авторизации OAuth 2.0.

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

Отправка запросов к API ВКонтакте.

После того, как получен access_token можно выполнять запросы к API.

Для этого производится GET запрос по определенному адресу и читается ответ. Общий вид HTTP адреса выглядит следующим образом:

https://api.vk.com/method/ИМЯ_МЕТОДА.xml?параметр1=значение1access_token=a1dfc7ef2b763d776350375f8a22678a59f28e1ac7e090b4a8486274564d38e9e8a069d10e596223d80d7

Например, для размещения записи «Привет, ВКонтакт!» на стене пользователя http://vk.com/id5184504 будет такой адрес:

Примечание. Если необходимо произвести действие со стеной группы, то в owner_id устанавливается значение со знаком «-«.

Ниже приведен код процедуры, выполняющий запросы к API (следует заметить что используется HTTPS соединение).

Прикрепление карты к сообщению на стене.

В текущей реализации API отсутствует возможность прикрепления карты к сообщению. Что бывает не очень удобно. Например, если в сообщении идет речь о какой-нибудь проводимой акции, то хорошо бы было к нему прикрепить карту с местом проведения акции. Данная задача была решена мной следующим образом: обращением к Google Maps API получается изображение карты, а потом оно прикрепляется к сообщению как обычная картина.

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

Описание и примеры работы с api вконтакте

http://maps.google.com/ maps/api/staticmap?center= LAT,LONG size=320×100markers=color:red%7Ccolor:red%7Clabel:C%7C LAT,LONG jpg»); Соединение = Новый HTTPСоединение(«maps.google.com»); Соединение.Получить(«maps/api/staticmap?center=»+lat+»,»+long+»size=320×100 + «+lat+»,»+long+», ИмяФайлаКарты);

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

  • размещение и удаление записей на стене;
  • добавление, чтение и удаление комментариев к записям;
  • работа с рекламой — получение списка рекламных кабинетов, работа с рекламными кампаниями и рекламными объявлениями (создание, изменение и удаление);
  • работа со списком пользоваталей и получение информации о них;
  • работа с географическими местами;
  • размещение фотографий.

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

РаботаССайтомВКонтакте.ПолучитьИнформациюОПользователях(«a1dfc7ef2b763d776350375f8a22678a59f28e1ac7e090b4a8486274564d38e9e8a069d10e596223d80d7», «5184504»);

первый параметр access_token, второй — id пользователя.

Возвращаемым значением функций является Структура либо массив структур в завимости от формата ответа сервера. Ключами структуры являются параметры возвращаемые в ответе сервером. Приведенный ниже пример демонстрирует вывод имен пользователей с ID 123456 и 654321.

ДанныеОПользователях = ПолучитьИнформациюОПользователях(access_token, «123456,654321»); Для каждого ДанныеОПользователе Из ДанныеОПользователях Цикл Сообщить(«Имя пользователя » + ДанныеОПользователе.uid + » — » + ДанныеОПользователе.first_name); КонецЦикла;

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

Общий модуль «РаботаССайтомВКонтакте» и обработку «АвторизацияНаСайте» можно как есть перенести в рабочую конфигурацию и начать использовать API ВКонтакте.

Демонстрационная база работает как в режиме управляемых форм так и в обычном приложении.

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

Источник: open-budget.ru

[Примеры] Авторизация (получение access token) с помощью OAuth 2.0 Вконтакте (VK) и работа с API Вконтакте на PHP и JS

Мир ВКонтакте

Внутри code

может содержаться не более 25 обращений к методам API.

То же самое можно более коротко записать так:

В данный момент не поддерживается создание функций.

Метод execute

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

В методе execute

поддерживаются логические операции (больше),
=
(больше или равно),
==
(равно) и
!=
(не равно). В данный момент поддерживаются сравнения двух строк, двух чисел и строки и числа (в этом случае строка приводится к числу).

Еще по теме:  Как вступить в беседу в ВК по ссылке

Результат логического выражения может быть использован в управляющей конструкции if

Возвращает данные, запрошенные алгоритмом. При работе с методом execute

структура ответа в
XML
ближе к
JSON
и может незначительно отличаться от стандартного представления других методов.

Обратите внимание: версия API, указанная при вызове execute, не применяется автоматически к методам, вызываемым внутри code.

Обратите внимание!

Существует ограничение на объем ответа. В случае, если данные в ответе занимают больше 5 МБ, вернется ошибка 13 с комментарием «response size is too big».

Стоит задача спарсить всех участников группы. Вот код, который сейчас есть:

Сейчас возникает ошибка:

Как это исправить?

P.S. execute пока не очень понимаю.

  • Вопрос задан более года назад
  • 1983 просмотра

Внутри code может содержаться не более 25 обращений к методам API.

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

А у меня больше 25-ти что ли?

Заметил, что иногда нормально все проходит. Правда, на offset = 24 рубится. Замедлять искусственно?

albertalexandrov, не знаю, это зависит от количества пользователей (members.count). Во всяком случае, у Вас там нет каких либо предохранителей, а должны быть.

В Вашем случае нельзя допускать, чтобы было более чем 24 интераций в цикле while. То есть, в указанном сообществе должно быть не более чем 25000 участников (первый запрос к API + 24 запроса в цикле). По идее Ваш код (с count=1000) должен работать для указанного сообщества (tensor_company)

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

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

Публикация истории через инструменты разработчика Вконтакте

Шаг 1. Открываем инструменты разработчика

Откройте ссылку https://vk.com/dev/execute

Пролистайте в самый низ страницы до раздела Пример запроса и найдите поле Code.

Раздел Пример запроса в ВК

Шаг 2. Вводим код для загрузки фото истории с компьютера

Если хотите публиковать историю с фотографией, то вставьте в поле Code эту строку

Если будете выкладывать видео, то эту:

Нажмите кнопку Выполнить.

Шаг 3. Загружаем фото историю в ВК через компьютер

Появился кнопка Выберите файл.

Выберите файл в окне Пример запроса в ВК

Если вы до этого указывали код для загрузки фото, то выбирайте фото, если видео — то видео.

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

Имейте в виду, что размер фотографии или видео не должен быть больше 5 мб, а длительность видео не больше 15 секунд.

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

Шаг 4. Проверяем корректность загрузки, подгружаем еще одно фото если нужно

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

Успешная загрузка фото

Если нужно загрузить в историю несколько фото, то нажмите кнопку «Выберите файл» еще раз и укажите нужное фото.

Нажмите еще раз Выполнить.

Можете проверить свои новости, там должна появиться история:

Так выглядит история загруженная с компьютера в ВК

Применяйте истории для уведомления друзей о новых статьях в вашей группе, это еще один эффективный инструмент для раскрутки группы Вконтакте.

Свойство lastrowid

Давайте теперь представим, что у нас есть еще одна таблица cust, которая содержит покупателей машин. Причем, если происходит покупка по «trade-in», то прежняя машина владельца добавляется в конец таблицы cars, а в таблице cust появляется запись с именем покупателя, идентификатором машины сданной в «trade-in» и id новой купленной машины:

Чтобы реализовать SQL-запрос добавления записи в таблицу cust, нам нужно знать car_id автомобиля сданного в «trade-in». Предположим, что Федор еще не совершил покупку и таблица cars не содержит запись с его сданным автомобилем. Добавим ее. Выполним следующий запрос вот в такой программе:

with sq.connect(«cars.db») as con: cur = con.cursor() cur.executescript(«»»CREATE TABLE IF NOT EXISTS cars ( car_id INTEGER PRIMARY KEY AUTOINCREMENT, model TEXT, price INTEGER ); CREATE TABLE IF NOT EXISTS cust(name TEXT, tr_in INTEGER, buy INTEGER); «»») cur.execute(«INSERT INTO cars VALUES(NULL,’Запорожец’, 1000)»)

Мы здесь создаем еще одну таблицу cust с тремя полями и, затем, добавляем в таблицу cars автомобиль «Запорожец», который сдает покупатель Федор. Как теперь нам узнать car_id этой записи? Для этого можно воспользоваться специальным свойством:

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

Еще по теме:  Кто такой vk iha bot

buy_car_id = 2 cur.execute(«INSERT INTO cust VALUES(‘Федор’, ?, ?)», (last_row_id, buy_car_id))

Теперь, при выполнении нашей программы в таблице cust увидим искомую запись. Вот так используется свойство lastrowid.

На этом завершим это занятие. На следующем продолжим рассматривать функционал API для работы с СУБД SQLite.

Как сделать историю через комп в вк с помощью эмулятора

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

Воспользуемся эмулятором Bluestacks.

Сначала я пробовала эмулятор Nox. Он легкий, быстрый, но именно на этапе выкладывания историй приложение ВК вылетает на нем. Поэтому расскажу только о рабочем варианте — Блустэкс.

Наберите в поиске яндекс Bluestacks, первая строка и будет его сайтом.

Скачиваете и ставите как обычную программу.

Он довольно большой: 446 мб.

Важное замечание: без включенной технологии виртуализации на компьютере очень тормозит. Как подключить виртуализацию расскажет само приложение после установки.

Инструкция по установке BlueStacks:

  1. Установите скачанный файл. Никаких особенностей при установке нет, далее далее ок.
  2. После запуска авторизуйтесь в аккаунте гугл;
  3. Зайдите в эмуляторе в Play Маркет и скачайте приложение Вконтакте;
  4. Запустите приложение;
  5. Начните создавать историю;
  6. Приложение запросит доступ к камере и микрофону. Разрешите все.
  7. Можете снимать видео или фото с компьютера.
  8. Чтобы загрузить в истории свою картинку, загрузите ее сначала в память эмулятора.

Методы commit и rollback

Давайте теперь реализуем соединение с БД через блок обработки исключений try/except/finally:

con = None try: con = sq.connect(«cars.db») cur = con.cursor() cur.executescript(«»»CREATE TABLE IF NOT EXISTS cars ( car_id INTEGER PRIMARY KEY AUTOINCREMENT, model TEXT, price INTEGER ); BEGIN; INSERT INTO cars VALUES(NULL,’Audi’,52642); INSERT INTO cars VALUES(NULL,’Mercedes’,57127); INSERT INTO cars VALUES(NULL,’Skoda’,9000); INSERT INTO cars VALUES(NULL,’Volvo’,29000); INSERT INTO cars VALUES(NULL,’Bentley’,350000); UPDATE cars SET price = price+1000 «»») con.commit() except sq.Error as e: if con: con.rollback() print(«Ошибка выполнения запроса») finally: if con: con.close()

В чем преимущество такого подхода? Смотрите, мы здесь сами «вручную» вызываем методы commit и close. Если операции с таблицами прошли успешно, то они будут сохранены, если же возникли какие-либо ошибки (исключения), то будет вызван метод rollback, который откатывает состояние БД в состояние отметки BEGIN, то есть, все внесенные изменения применены не будут.

Например, укажем в команде UDPATE неверное имя таблицы:

UPDATE cars2 SET price = price+1000

При запуске программы произойдет ошибка выполнения запроса и состояние БД не изменится, то есть, все новые добавленные записи не появятся в таблице cars. А вот если вместо rollback указать commit, то увидим добавление записей. То есть, при использовании менеджера контекста в данном случае не выполнилась бы только последняя команда, но отката состояния БД не произошло бы. Вот так более тонко можно управлять состоянием таблиц в БД.

Если при работе с БД предполагается сохранять вносимые изменения сразу после выполнения SQL-запроса, то это можно сделать с помощью метода connect, установив в нем параметр isolation_level=None:

with sq.connect(«cars.db», isolation_level=None) as con: cur = con.cursor() cur.executescript(«»»INSERT INTO cars VALUES(NULL,’Audi’,52642); INSERT INTO cars VALUES(NULL,’Mercedes’,57127); INSERT INTO cars VALUES(NULL,’Skoda’,9000); INSERT INTO cars VALUES(NULL,’Volvo’,29000); INSERT INTO cars VALUES(NULL,’Bentley’,350000); «»»)

Однако так делать без особой надобности не стоит, т.к. это уменьшает скорость работы с БД из-за постоянной записи данных непосредственно в файл. Без изменения этого параметра все изменения сохраняются в памяти, а потому работа происходит куда быстрее.

Публикация истории с компьютера через баг

Пока готовила статью наткнулась на баг или лайфхак.

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

Я делала картинку в фотошопе и хотела загрузить ее в истории. То есть это даже и не фотография вовсе.

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

Тогда я сделала фотографию с телефона и снова зашла в истории. Теперь приложение Вконтакте разрешило выбирать ВСЕ фотографии в альбоме, независимо от даты их съемки.

Я использовала официальное приложение Вконтакте, версия от 22.11.2018

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

TopChatWords

В этом случае процедура не сильно отличается:

  1. Чтобы посмотреть сколько сообщение в диалоге, нужно зайти в GooglePlayMarket, ввести в строке поиска TopChatWords.
  2. Выбрать приложение из списка, нажать кнопку “Установить”.
  3. Открыть скачанное приложение, авторизоваться через приложение VK, либо вручную ввести логин и пароль, предоставить необходимые разрешения.
  4. Выбрать интересующий диалог, нажать на него.
  5. Нажать на кнопку “Начать”.
  6. Запустится подсчет сообщений в диалоге.
  7. Приложение выведет количество отправленных, полученных, а также наиболее частых сообщений:

Как подключить расширение?

Чтобы это сделать, достаточно выполнить несколько простых шагов.

  1. Сперва нужно найти плагин. Для этого нужно открыть магазин Chrome и набрать название VkontakteStats в поиске или просто перейти по следующей ссылке — https://vk.cc/3mnxVD.
  2. Откроется окно с расширением. В верхнем правом углу следует выбрать соответствующую надпись и согласится с добавлением. Статус плагина сменится на «Добавлено в Chrome».
Еще по теме:  Что будет если пожаловаться на человека в ВК

Рядом со значком Вконтакте появится иконка расширения. Чтобы его использовать, необходимо на нее нажать.

Статистика при изменениях в диалоге (при отправке сообщения или добавления нового диалога) будет автоматически обновляться. После нажатия необходимо подтвердить использование этого приложения в данном аккаунте.

  1. Откроется меню начала работы, в котором можно перейти непосредственно к статистике сообщений, открыть группу vkstatsили прочитать о возможности просмотра других статистик. Такими являются статистики стены, фотоальбомов, видеозаписей, сообществ и друзей. Информацию по ним так же можно получить — для этого нужно в открывшемся окне выбрать нужный вариант и разрешить его использование.

В данном окне необходимо нажать слово «Поехали!», чтобы плагин начал сбор статистики.

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

В этом и заключается смысл приложения vkstats.

Скриптом

Заходим в нужный нам диалог (инструкция для браузера Гугл Хром), нажимаем «просмотр кода элемента» и переходим на вкладку «Console» и теперь остается только поставить ниже приведенный код клавишами Ctrl+V и Enter.

Убедительная просьба-НЕ используйте программы для подсчета сообщений в диалогах в контакте. Почему?

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

Данные скрипты вполне выполняют все функции.

Источник: ve-kon.ru

Бот для сообщества ВКонтакте

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

Настройка Callback API для бота сообщества ВКонтакте

Подготовка серверной части к подключению

  • Бота для отправки мгновенных ответов на поступающие сообщения.
  • Систему автоматической модерации контента.
  • Сервис для сбора и обработки показателей вовлеченности аудитории.

Инструкция по подключению подробно описана в отличной документации для разработчиков ВКонтакте.

Разберем её подробнее, для начала мы должны иметь выделенный сервер, я рекомендую использовать хостинг firstvds, наш тестовый сервер мы расположим именно там, так же по промокоду 648336027 вы получите неплохую скидку.

Для работы с callback API ВКонтакте рекомендует использовать протокол https, инструкцию по бесплатной получении сертификата cloudflare и настройки сервера вы сможете найти в статье Бесплатный SSL сертификат CloudFlare.

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

Настройка сообщества ВКонтакте

Генерация ключа доступа

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

Далее спустимся в раздел «Работа с API» -> «Ключи доступа«.

Для создания ключа необходимо нажать «Создать ключ» и выбрать необходимые права, которые мы предоставим нашему боту.

В нашем случае нам хватит доступа к сообщениям сообщества.

Сохраним данный ключ, он нам понадобится при настройке backend.

Настройка callback API

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

Дальше наступает очень важный момент, нам необходимо ввести адрес нашего сервера и придумать секретный ключ, в качестве ключа выступает любая строка, а в качестве адреса, соотвественно, адрес к php скрипту на сервере.

Введем секретный ключ и нажимаем «Сохранить», после мы должны получить соответствующее уведомление о успешной установке ключа. Кнопку «Подтвердить» напротив поля с адресом сервера не нажимаем.

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

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

Настройка типов событий

Важным моментом в работе бота сообщества, является ответы на пользовательские сообщения и различные события, для того, чтобы мы могли взаимодействовать с пользователем от имени сообщества, нам необходимо указать какие именно события мы хотим получать. Так как мы собираемся отслеживать входящие сообщения, вступления в сообщества и выход из него, то нам необходимо установить соответствующие галочки. Для этого перейдем во вкладку «Управление сообществом«.

Далее спустимся в раздел «Работа с API» -> «Типы событий«.

Установите необходимые пункты в данном разделе.

Настройка backend бот ВКонтакте

Следующим этапом мы должны создать специальный скрипт, который будем принимать запросы от callback API вконтакте и определенным образом реагировать на события. Создадим, например, php-скрипт handler.php, адрес к этом скрипту, после настройки backend, мы должны указать в настройках сообщества.

Обратите внимание на значения следующих переменных:

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

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