Демонстраційна конфігурація роботи з api вконтакте

У статті представлений огляд роботи з API ВКонтакте з 1С. А так же розглядається демонстраційна конфігурація по роботі з API.

Створення програми "ВКонтакте".

На станиці створення програми необхідно ввести назву вашої програми і вибрати тип "Standalone-додаток".

Демонстраційна конфігурація роботи з api вконтакте

Демонстраційна конфігурація роботи з api вконтакте

В результаті буде створено програму. Зміст всіх цих дій в отриманні ID додатки, яке і буде використовуватися в запитах до API.

Демонстраційна конфігурація роботи з api вконтакте

Я ж опишу як все це можна реалізувати на 1С.

Нижче наведено приклад коду. Перехід на сторінку вставлений в процедуру "відкриття ()"

Для цього необхідно обробляти подія "ДокументСформірован" елемента "ПолеHTMLДокумента".

Нижче наведено приклад обробки даної події.

Відправлення запитів до API ВКонтакте.

Після того, як отримано access_token можна виконувати запити до API.

Примітка. Якщо необхідно провести дію зі стіною групи, то в owner_id встановлюється значення зі знаком "-".

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

Відправка фотографій.

Як виробляти відправку фотографій можна прочитати в документації ВКонтакте (або подивитися в демонстаціонной конфігурації). У цій статті я хочу зупинитися лише на одному моменті.

Зображення відправляється методом POST. Відправляється файл має наступну структуру:

--0123456789
Content-Disposition: form-data; name = "photo"; filename = "image.jpg"
Content-Type: image / jpeg

де 0123456789 - Boundary: якась послідовність символів. Так само необхідно встановити HTTP заголовки Content-Type і Content-Length.

Так як в 1С немає методів для роботи з двійковими файлами був придуманий наступний спосіб. Формуються 2 текстовий файлу: з початком кінцевим файлу:

--0123456789
Content-Disposition: form-data; name = "photo"; filename = "image.jpg"
Content-Type: image / jpeg

Разом виходить 3 файлу:

1. текстовий файл з початком
2. саме зображення
3. текстовий файл із закінченням

Використовуючи метод "Об'едінітьФайли" з'єднуємо 3 файлу в один і відправляємо вже отриманий файл.

Нижче наведено код демонструє відправку файлу.

Прикріплення карти до повідомлення на стіні.

У поточній реалізації API відсутня можливість прикріплення карти до повідомлення. Що буває не дуже зручно. Наприклад, якщо в повідомленні йдеться про якийсь проведеної акції, то добре б було до нього прикріпити картку з місцем проведення акції. Дане завдання було вирішене мною таким чином: зверненням до Google Maps API виходить зображення карти, а потім воно буде приєднано до повідомлення як звичайна картина.

де LAT і LONG географічні координати місця. Опис інших параметрів можна знайти в описі Google Maps API. Скажу лише, що наведені в даному прикладі на мою думку є оптимальними і їх можна не міняти. У відповідь приходить зображення карти.

Нижче наведено приклад використання.

тобто наприклад, щоб отримати інформацію про користувачів можна скористатися наступним кодом

перший параметр access_token, другий - id користувача.

Значенням функцій є Структура або масив структур в завімості від формату відповіді сервера. Ключами структури є параметри повертаються у відповіді сервером. Наведений нижче приклад демонструє висновок імен користувачів з ID 123456 і 654321.

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

Демонстраційна база працює як в режимі керованих форм так і в звичайному додатку.

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