Страницы

Поиск по вопросам

пятница, 7 февраля 2020 г.

Отправить сообщение пользователю через VK API из приложения с типом “Веб-сайт”

#vkontakte_api


Есть сайт с уже работающей авторизацией.
Для сайта в VK создали приложение с типом веб-сайт.
Есть необходимость добавить возможность сайту от имени приложения отправлять сообщение
пользователям через VK API.
Возможно ли подобное? Насколько я понял, для приложений типа "сайт" доступны не все
методы.
Если возможно, то какой метод будет правильнее использовать?
    


Ответы

Ответ 1



На сегодня есть следующие варианты отправки сообщения пользователю ВК: от другого пользователя ВК messages.send(); от сообщества в ответ на запрос пользователя – Сообщения для бизнеса; уведомления от приложения secure.sendNotification(); платная отправка SMS secure.sendSMSNotification(). Варианты 1–3 не доступны приложению типа «Сайт». Но можно поступить так: Заведите аккаунт пользователя ВКонтакте, представляющий ваш сайт – вымышленный персонаж, директор, «лицо» сайта. Создайте приложение типа Standalone, и получите для него бессрочный токен с правами messages. Тут придётся всего один раз выполнить процедуру с копированием токена из адресной строки браузера. Зато теперь у вас есть токен, с которым вы сможете из скриптов сайта писать личные сообщения пользователям. Приходить они будут от имени того аккаунта. Скорее всего, пользователи будут что-то писать в ответ – обрабатывайте их ответы. Наладьте какой-то механизм на случай если токен вдруг перестанет работать – чтобы вы тут же узнали и выпустили новый.

Ответ 2



Вам нужно для такого получить access_token вручную, иначе не будет у него нужных прав. Для этого перейти по ссылке: http://oauth.vk.com/oauth/authorize?redirect_uri=http://oauth.vk.com/blank.html&response_type=token&client_id={app_id}&scope=friends,messages,offline В строке адреса скопировать access_token и использовать его для отправки сообщений: https://api.vkontakte.ru/method/messages.send?user_id={receiver_vk_id}&message={vk_msg}&title={vk_msg_title}&access_token={received_access_token} P.S. Параметр offline дает токену неограниченное время существования.

Комментариев нет:

Отправить комментарий