Скрипт отправки сообщения в вконтакте на python

Скрипт должен отправить сообщение пользователю в ВК (данные скрыл, но в коде выдает ошибку с правильными данными.

from vk_api import VkApi, AuthError
from vk_api.utils import get_random_id

vk_session = VkApi('+7111111111', 'qwerty')
vk_session.auth(token_only=True)

vk = vk_session.get_api()

vk.messages.send(user_id=23149885qq, message='Hello', random_id=get_random_id())

Выдает ошибку:

    Traceback (most recent call last):
  File "main.py", line 9, in <module>
    vk.messages.send(user_id=2314988qq, message='Hello', random_id=get_random_id())
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/vk_api/vk_api.py", line 708, in __call__
    return self._vk.method(self._method, kwargs)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/vk_api/vk_api.py", line 668, in method
    raise error
vk_api.exceptions.ApiError: [15] Access denied: no access to call this method

Ответы (1 шт):

Автор решения: Артём Жуков

для таких действий советую получить токен:

  1. Здесь создаете standalone-приложение
  2. Используя эту ссылку https://oauth.vk.com/authorize?client_id=id_вашего_приложения&scope=ads&response_type=token
  3. Получаете в адресной строке accsess_token
import vk_api

token = "Ваш токен"

user_id = "ID пользователя"

message = "Сообщение"

vk_session = vk_api.VkApi(token=token)

vk = vk_session.get_api()

vk.messages.send(user_id=user_id, message=message, random_id=0)
→ Ссылка