Библиотека интеграции с сайтом ВКонтакте

27.04.21

Интеграция - Сайты и интернет-магазины

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

Скачать файлы

Наименование Файл Версия Размер
Библиотека интеграции с сайтом ВКонтакте:
.zip 557,77Kb
49
.zip 1.0.1.3 557,77Kb 49 Скачать

Внимание! Для интеграции вашей учётной системы 1С с сайтом ВКонтакте необходимо создать приложение в разделе разработчиков на сайте ВКонтакте.

 
 Создание приложения ВКонтакте.

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

Для выполнения запросов к API ВКонтакте необходимо выполнить авторизацию и получить ключ доступа (access_token), который будет использоваться при вызове методов API. При выполнении авторизации необходимо указать ID вашего приложения (см. раздел Создание приложения ВКонтакте выше) и необходимые права доступа к аккаунту ВКонтакте. Права доступа являются строковыми значениями и перечисляются через запятую. Например, если необходимо получить доступ к фотографиям и группам пользователя, то значение прав доступа будет равно "photos,wall". Полный список прав доступа и их значения можно получить в разделе разработчика ВКонтакте по адресу https://vk.com/dev/permissions.

Подробную информацию о получении ключа доступа можно получить в разделе разработчика ВКонтакте по адресу https://vk.com/dev/access_token.

Для выполнения авторизации используется процедура АвторизацияВКонтакте общего модуля vk_ИнтеграцияВККлиент.

Синтаксис:

АвторизацияВКонтакте(<ИдентификаторПриложения>, <ПраваДоступа>, <ОповещениеОЗавершении>)

Параметры:

<ИдентификаторПриложения> (обязательный) - Строка - ID вашего приложения, которому будет представлен доступ (см. раздел Создание приложения ВКонтакте выше).

<ПраваДоступа> (обязательный) - Строка - список прав доступа, перечисленных через запятую.

<ОповещениеОЗавершении> (обязательный) - ОписаниеОповещения - описание процедуры, которая будет вызвана при завершении авторизации. Если авторизация не была выполнена, значение результата закрытия будет Неопределено, иначе Структура:

  • ИдентификаторПользователя - Строка - идентификатор авторизованного пользователя (используется для запросов к API);
  • КлючДоступа - Строка - ключ доступа (access_token), используется для запросов к API;
  • СрокДействияКлюча - Дата - дата окончания срока действия ключа. По истечению этого срока необходимо заново выполнить процедуру авторизации для получения нового ключа. Если установлено право доступа offline (доступ в любое время), то значение равно Неопределено.

Доступность: Клиент.

Описание:

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

 
 Пример использования

Вызов методов API ВКонтакте.

Для вызовов методов API используется функция ВызватьМетодAPI общего модуля vk_ИнтеграцияВККлиентСервер.

Синтаксис:

ВызватьМетодAPI(<ИмяМетода>, <Параметры>, <КлючДоступа>, <ИнформацияОбОшибке>)

Параметры:

<ИмяМетода> (обязательный) - Строка - имя вызываемого метода API.

<Параметры> (обязательный) - Структура - параметры вызываемого метода.

<КлючДоступа> (обязательный) - Строка - ключ доступа, полученный при авторизации (см. раздел Авторизация ВКонтакте из 1С).

<ИнформацияОбОшибке> (необязательный) - Структура - при возникновении ошибки содержит подробную информацию о ней. Если метод выполнен успешно - содержит значение Неопределено.

  • КодОшибки - Строка - код ошибки.
  • ТекстОшибки - Строка - текст ошибки.
  • ОшибкаHTTP - Булево - содержит значение Истина, если ошибка произошла при вызове HTTP-метода (404, 500 и т.п.), например, если сервер недоступен. Если ошибка возникла при выполнении метода ВК API, то будет содержать значение Ложь. Подробнее про коды ошибки API см. https://vk.com/dev/errors.
  • Представление - Строка - представление текста ошибки для отображения пользователю.
  • ТребуетсяCaptcha - Булево - Истина, если ошибка вызвана требованием ввести Captcha (подробнее см. https://vk.com/dev/captcha_error).
  • ПараметрыCaptcha - Структура - если ТребуетсяCaptcha = Истина, то содержит параметры Captcha, используемые для ввода Captcha пользователем:
    • Идентификатор - Строка - идентификатор captcha;
    • АдресИзображения - Строка - URL адрес изображения captcha;
    • КлючДоступа - Строка - ключ доступа к API, используется для повторной отправки запроса после ввода пользователем Captcha;
    • ПереданныеПараметры - Массив - содержит массив переданных параметров вызванного метода. Используется для повторной отправки запроса после ввода пользователем Captcha.

Возвращаемое значение:

Структура, Массив - структура или массив со значениями, возвращаемые вызываемым методом. Если во время выполнения метода произошла ошибка, то возвращает значение Неопределено.

Доступность: Клиент, Сервер.

Описание:

Вызывает метод API ВКонтакте и возвращает результат его выполнения. Полную информацию о методах API, их параметрах и возвращаемых значениях см. в руководстве разработчика ВКонтакте по адресу https://vk.com/dev/methods.

Подробнее информацию об обработке ошибки, связанную с требованием ввести captcha см. в разделе Запрос Captcha.

 
 Пример использования

Проверка авторизации пользователя перед вызовом метода API.

Если используется ключ доступа с ограниченным сроком действия (при авторизации в правах доступа отсутствует право offline), то может возникнуть ситуация, когда при отправке запроса срок действия ключа уже закончен. В таком случае метод ВК вернёт соответствующую ошибку. Для упрощения обработки такой ситуации предназначена процедура ПроверитьАвторизациюПользователя общего модуля vk_ИнтеграцияВККлиент.

Синтаксис:

ПроверитьАвторизациюПользователя(<ОповещениеОЗавершении>, <ИдентификаторПриложения>, <ПраваДоступа>, <СрокДействияКлюча>, <АвтообновлениеКлюча>)

Параметры:

<ОповещениеОЗавершении> (обязательный) - ОписаниеОповещения - описание процедуры, которая будет вызвана при завершении проверки. Значение результата проверки - Структура:

  • Результат - Строка - результат проверки ключа. Принимает следующие значения:
    • КлючДействителен - ключ доступа является действующим;
    • КлючНедействителен - срок действия ключа доступа истёк;
    • КлючОбновлен - срок действия ключа истёк и был обновлён пользователем.
  • ПараметрыДоступа - Структура - если ключ доступа был обновлён пользователем, то содержит обновлённые параметры доступа.

<ИдентификаторПриложения> (обязательный) - Строка - идентификатор приложения, используется для обновления ключа доступа при завершении его срока действия.

<ПраваДоступа> (обязательный) - Строка - права доступа к аккаунту, используется для обновления ключа доступа при завершении его срока действия.

<СрокДействияКлюча> (обязательный) - Дата - проверяемый срок действия ключа.

<АвтообновлениеКлюча> (необязательный) - Булево - если Истина, то пользователю будет предложено обновить ключ доступа в случае истечения его срока действия. Значение по умолчанию: Истина.

Доступность: Клиент.

Описание:

Выполняет проверку наличия действующего ключа доступа к API ВК в клиентском сеансе. Если срок действия ключа истёк, то пользователю будет предложено обновить ключ. По завершении выполнения результат в параметре ОповещениеОЗавершении будет содержать результат проверки. Если значения параметра АвтообновлениеКлюча равно Истина и срок действия ключа истёк, то пользователю будет предложено обновить ключ.

 
 Пример использования

Запрос Captcha.

В API ВКонтакте существует ограничение на вызов однотипных методов. После превышения количественного лимита доступ к конкретному методу может потребовать ввода captcha. Для ввода captcha пользователем предназначена процедура ВвестиCaptchaИПовторитьВызовМетодаAPI общего модуля vk_ИнтеграцияВККлиент.

Синтаксис:

ВвестиCaptchaИПовторитьВызовМетодаAPI(<ПараметрыCaptcha>, <ОповещениеОЗавершении>)

Параметры

<ПараметрыCaptcha> (обязательный) - Структура - параметры captcha, возвращённые с ошибкой при вызове метода API. Подробнее см. раздел Вызов методов API ВКонтакте.

<ОповещениеОЗавершении> (обязательный) - ОписаниеОповещения - описание процедуры, которая будет вызвана при завершении ввода captcha. Если captcha не была введена пользователем, то результат выполнения будет Неопределено, иначе Структура:

  • Ответ - Структура - результат выполнения метода API. Если во время выполнения метода возникла ошибка, то содержит значение Неопределено.
  • ИнформацияОбОшибке - Структура - если вызов метода выполнен успешно, то содержит значение Неопределено, иначе содержит сведения о возникшей ошибке.

Доступность: Клиент

Описание:

Открывает форму для ввода captcha. После ввода captcha выполняет повторный запрос, приведший к возникновению необходимости ввода captcha.

 
 Пример использования

Отключение аккаунта ВКонтакте.

Для отключения аккаунта можно просто удалить сохранённые при авторизации параметры доступа. Однако из-за использования в процессе авторизации cookie повторное подключение аккаунта ВКонтакте не требует ввода данных , а выполняет вход пользователя, который был авторизован до отключения аккаунта. Таким образом нет возможности сменить пользователя - при авторизации после отключения аккаунта автоматически будет авторизован начальный пользователь. Проблема решается очисткой cookie WebKit, но 1С не предоставляет такого функционала. Выходом из данной ситуации может служить механизм, перенаправляющий пользователя на его страницу ВКонтакте, чтобы он самостоятельно выполнил выход из аккаунта. Для этих целей предназначена процедура ОтключитьАккаунтВКонтакте общего модуля vk_ИнтеграцияВККлиент.

Синтаксис:

ОтключитьАккаунтВКонтакте(<ОповещениеОЗавершении>)

Параметры:

<ОповещениеОЗавершении> (обязательный) - ОписаниеОповещения - описание процедуры, которая будет вызвана при завершении выхода из ВК. Если выход был осуществлён, то результат закрытия равно Истина.

Доступность: Клиент

Описание:

Открывает страницу пользователя ВКонтакте для выхода из аккаунта. Пользователь сам должен выполнить процедуру выхода со своей страницы.

 
 Пример использования

Вспомогательные методы для работы с API ВКонтакте.

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

 
 ЗагрузитьФотогорафиюВАльбом
 
 ЗагрузитьФотографиюНаСтену
 
 ЗагрузитьФотографиюТовара
 
 ЗагрузитьФотографиюДляПодборкиТоваров

Демонстрационная база.

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

  • настройка параметров подключения, получения ключа доступа и сохранение этих настроек;
  • размещение записей на стене пользователя или сообщества;
  • загрузка фотографий в альбом пользователя или сообщества;
  • добавление товаров в раздел "Товары" сообщества.

В обработках по работе с API продемонстрированы примеры вызовов с проверкой наличия действующего ключа и обработкой запроса на ввод captcha.

Настройка параметров подключения и получение ключа доступа.

Работа с аккаунтом ВКонтакте осуществляется в разделе ВКонтакте > Сервис > Настройка подключения.

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

Размещение записи на стене.

Обработка, демонстрирующая размещение записи на стене находится в разделе ВКонтакте > Размещение записи на стене. Помимо размещения записи на стене в обработке демонстрируется получение списка сообществ пользователя для выбора сообщества, в котором будет размещена запись.

Загрузка фотографии в альбом.

Обработка, демонстрирующая загрузку фотографии в альбом находится в разделе ВКонтакте > Загрузка фотографии в альбом. Помимо загрузки фотографии в обработке демонстрируется получение списка сообществ и альбомов пользователя для выбора сообщества и альбома, в которых будет размещена запись.

Добавление товара.

Обработка, демонстрирующая добавление товара в раздел "Товары" сообщества находится в разделе ВКонтакте > Добавление товара. Помимо добавления товара в обработке демонстрируется получение списка сообществ с подключённым разделом "Товары" и категорий товаров для выбора сообщества и категории, в которые будет добавлен товар.

Условия использования.

Исходный код библиотеки интеграции с ВК и демонстрационной базы распространяется под лицензий Apache 2.0. Вы можете свободно использовать, изменять и распространять его, в том числе и в коммерческих целях с обязательным указанием авторства. Подробнее см. текст лицензии http://www.apache.org/licenses/LICENSE-2.0

Прочее.

Вход в демо-базу осуществляется под пользователем "Администратор" без использования пароля.

Для работы с библиотекой требуется версия 1С:Предприятие 8.3.14 и выше. В более ранних версиях не будет работать функционал авторизации пользователя - сайт ВКонтакте будет выдавать ошибку о неподдерживаемой версии браузера.

Работа демонстрационной базы была протестирована на следующих версия 1С:Предприятия 8.3: 

  • 8.3.14.1993;
  • 8.3.16.1224.

Данная публикация является развитием публикации //infostart.ru/public/195276/

Библиотека интеграции с сайтом ВКонтакте доступна на GitHub по ссылке: https://github.com/ltfriend/VkSDKfor1C

 
 История версий

 

Интеграция ИнтеграцияВК ИнтеграцияВКонтакте ВК ВКонтакте

См. также

API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3

Сайты и интернет-магазины Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Беларусь Россия Управленческий учет Платные (руб)

Модуль для интеграции с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress. При помощи расширения поддерживаются следующие методы: обмен остатками товаров, обмен ценами, обработка заказов, печать стикеров, загрузка отчетов комиссионеров по API (в том числе Я.Маркет). Подходит для конфигураций Беларуси. Поддержка искусственного интелекта GigaChat

59990 руб.

05.09.2023    7146    87    74    

68

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15748    10    17    

11

Оплата покупок "Долями" в 1С:Розница 2.3 (для работы с сервисом dolyame.ru)

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.

18000 руб.

19.12.2023    1186    6    1    

6

SALE! 15%

Обмен данными с сайтом. БП 3.0

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обмен данными с сайтом на платформе 1С:Битрикс (и подобными) для 1С: Бухгалтерия предприятия 3.0.

12000 10200 руб.

18.03.2019    31279    109    100    

62

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17551    6    15    

13

SALE! 33%

«Мониторинг цен» – сервис для отслеживания цен конкурентов на ведущих маркетплейсах России

Маркетплейсы Сайты и интернет-магазины 8.3.14 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Сервис помогает отслеживать цены на ведущих маркетплейсах России только для одного региона – Москва и Московская область. Выполняйте анализ и контролируйте цены Ваших конкурентов сразу в системе 1С.

2400 1608 руб.

29.05.2023    6653    25    37    

15

Выгрузка для АВИТО

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Россия Платные (руб)

Выгрузка товаров услуг из 1С для сайта "Авито" раздел "Автозагрузка" выполнена в виде обработки. Обработка подходит для конфигураций УТ, УНФ и Розница. Данная обработка позволяет создавать шаблон с объявлениями для "Авито" - "Автозагрузка".

4200 руб.

07.06.2022    15349    42    56    

37
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 01.04.20 14:32
Сообщение было скрыто модератором.
...
2. wrooom 172 15.04.20 06:20 Сейчас в теме
3. user1392676 15.04.20 13:12 Сейчас в теме
прошу отписать мне насчет доработки обработчика brestalat*gmail.com
спасибо
4. dgonson 177 22.09.20 11:29 Сейчас в теме
Добрый день, при попытке получения ключа просит логин и пароль. Мои никакие не подходят, не пойму в чем дело. Причем если в браузере ввести адрес, то авторизация проходит без этого запроса логин/пароль. Подскажите, в чем дело?
Прикрепленные файлы:
5. ltfriend 954 22.09.20 11:48 Сейчас в теме
(4) В настройках приложения ВК установите состояние "Приложение включено и видно всем". С недавних пор, если приложение выключено, то возникает такая ситуация. Сам с таким столкнулся. Пользователи стали жаловаться, что не могу авторизоваться через ВК. Хотя, раньше нормально работало и с отключенным приложением. Видимо, на стороне ВК "поправили".
7. user970589 10 08.10.20 13:10 Сейчас в теме
(5)к сожалению не работает. В смысле оно и было в состоянии включено и видно. Переделал заново приложение. Еще и вываливаться начало в ошибку системную. StackHash_0a9e модуль.
Надо сказать, что оно и в начале вылетало, я уж не знаю, что сделал, что не вылетало, буду экспериментировать со стеной и приложением. Ну, может новую платформу поставлю еще или на старой запущу
6. пользователь 06.10.20 20:09
Сообщение было скрыто модератором.
...
8. user970589 10 08.10.20 16:28 Сейчас в теме
а библиотека то работает. то, что выводит окно на вторичную и т.д. авторизацию не надо обращать внимание. Видимо ключ она уже получила и данные в ВК размещает
9. user970589 10 08.10.20 17:41 Сейчас в теме
Пока не получилось разместить товары. При определении прав доступа если пометить все, то нижние несколько позиций и в т.ч. товары галки сбросятся. Если уменьшить кол-во, то товары остаются. При попытке разместить товар неактивно окно выбора сообщества, и заполнить его не получается. Если же игнорировать и жать "Добавить товар", то вылетает ошибка - при вызове метода апи фото - ошибка 15, доступ запрещен.
10. user970589 10 08.10.20 18:08 Сейчас в теме
(9)все работает. надо было включить товары в группе ))
11. JIexa_74 20.08.21 13:55 Сейчас в теме
12. ltfriend 954 20.08.21 14:19 Сейчас в теме
(125) Если ваш терминал поддерживает сканирование через буфер обмена
(11) Нет. Конфигурации на обычных формах не поддерживаются.
13. igor7777 13 27.05.23 16:54 Сейчас в теме
После нажатия кнопки разрещить выходит это окно. Мой логин и пароль не принимает. В статье нету инфы. Что это?
Прикрепленные файлы:
14. igor7777 13 27.05.23 17:40 Сейчас в теме
https://vk.com/support?act=faqs_api&c=7&id=13567
Разобрался. Нужно отключить запрос прав "messages", либо списаться со службой поддержки, чтобы они включили эти права
15. user897398 28.11.23 00:38 Сейчас в теме
А сейчас работает такой способ авторизации?
При попытке авторизоваться, в 1С открывает поле с вводом логин/пароль. А если вызывать это в браузере то нужен вход через код/смс и токен получаешь. Но из 1С он пишет что пароль/логин неверный.
При двухфакторной авторизации, после ввода пароля зависает HTML документ (Не реагирует)
Оставьте свое сообщение