Как использовать vk api python

Использую python-модуль vk_api (https://github.com/python273/vk_api). Не могу получить доступ к сообщениям аккаунта. Выдает ошибку:

vk_api.exceptions.ApiError: [15] Access denied: no access to call this method
Есть ли способ получить доступ к сообщениям с помощью vk_api? Пробовал следующее:
На выходе та же ошибка
Отслеживать
45.4k 15 15 золотых знаков 54 54 серебряных знака 94 94 бронзовых знака
задан 29 дек 2019 в 16:15
ddenisov_on_drums ddenisov_on_drums
23 1 1 серебряный знак 4 4 бронзовых знака

Вам необходимо получить доступ с правами к скопу vk.com/dev/permissions. В Вашем случае messages
29 дек 2019 в 16:33
Передача в качестве третьего параметра ‘messages’ и scope=’messages’ выдает ту же ошибку((
29 дек 2019 в 17:59

Vk изменил формат запросов. Теперь используется метод — messages.getConversations пример messages = vk.method(«messages.getConversations», <«offset»: 0, «count»: 20, «filter»: ‘all’>) print(messages)

29 дек 2019 в 18:56

Vkontakte API Python | Как работать с методами?

При изменении формата запроса на указанный вами всплывает: TypeError: __call__() takes 1 positional argument but 3 were given

29 дек 2019 в 20:27

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Например чтобы отправить сообщение просто сформируйте словарь:

def write_aud_msg_chat(chat_id, attachment): return vk.method(‘messages.send’, )
vk = vk_api.VkApi(token=token) group = ‘123456789’ wait = 25 longpoll = VkBotLongPoll(vk, group, wait) for event in longpoll.listen():

Если же вы хотите авторизоваться с помощью пользователя просто укажите его токен (чтобы его получить перейдите по ссылке и скопируйте из адресной строки то что после acces_token= и до scope=1073737727display=pagerevoke=1 ):

vk1 = vk_api.VkApi(token=token1)
peer_id = event.object.peer_id chat_id = peer_id — 2000000000 user = event.object.from_id mess = event.object.text.lower()

Сам код должен выглядеть примерно так:

def write_msg_chat(chat_id, message): return vk.method(‘messages.send’, ) vk = vk_api.VkApi(token=token) group = ‘123456789’ wait = 25 longpoll = VkBotLongPoll(vk, group, wait) for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: peer_id = event.object.peer_id chat_id = peer_id — 2000000000 user = event.object.from_id mess = event.object.text.lower() #тут реакция на различные команды

Еще по теме:  Если Вконтакте пропали голоса

Не забудте добавить НУЖНЫЕ импорты:

import vk_api from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

Источник: ru.stackoverflow.com

Делаем бекапы аудиозаписей плейлистов Вконтакте через Vk API и Python

27 марта 2015 г. vetal.xp Просмотров: 15570 RSS 5
Примеры Python api python, api vk python, python примеры, vk api, www api vk com

Музыка ВК через Python

Через Вконтакте очень удобно слушать музыку. Но, бывает, что в браузере это сделать невозможно. Может банально старый компьютер тормозить. К примеру, у меня во время проигрывания в Google Chrome компьютер намертво зависал, началось это после обновления до Ubuntu 14.10. Поэтому понадобилось найти способ бекапить имеющийся плейлист, чтобы можно было случать его оффлайн.

Чтобы это сделать был написан небольшой python скрипт. Он умеет не только качать музыку, а еще и обновлять имеющуюся библиотеку.

В ход пошли следующие модули:

  • os
  • json
  • requests
  • Selenium webdriver

Для начала нужно подключить наши модули:

import os import requests from selenium import webdriver import json

Теперь получаем access_token, чтобы выполнялись запросы к API имы получили нужные нам права доступа. Прежде необходимо сделать и запустить свое Desktop/Standalone приложении, его id нам необходимо прописать в запросе.

Ничего сложного: Запускаем браузер, идем по ссылочке, вводим наши данные, даем доступ, копируем нужную информацию с адреса (а именно acces_token и expres_in).

Чтобы особо не утруждаться воспользуемся selenium. Данного модуля хватит для всего, что нам потребуется. Вы же используйте любой, интересный вам виртуальный браузер.

Ну а вот и сам код, и комментарии к нему:

# Создаем объект драйвера driver = webdriver.Firefox() # Переходим по ссылке. # client_id — идентификатор созданного нами приложения # scope — права доступа driver.get(«http://api.vkontakte.ru/oauth/authorize?» «client_id=4591034 » «response_type=token») user = «email/phone» password = «password» # Находим элементы формы и вводим данные для авторизации user_input = driver.find_element_by_name(«email») user_input.send_keys(user) password_input = driver.find_element_by_name(«pass») password_input.send_keys(password) # Нажимаем на кнопку submit = driver.find_element_by_id(«install_allow») submit.click() # Получаем необходимые данные для выполнения запросов к api current = driver.current_url access_list = (current.split(«#»))[1].split(«) access_token = (access_list[0].split(«=»))[1] # acces_token expires_in = (access_list[1].split(«=»))[1] # срок времени действия токена user_id = (access_list[2].split(» sh_php»># Принт для дебага print «Connecting» # Адрес запроса url = «https://api.vkontakte.ru/method/» «audio.get?uid=» + user_id + «>my_dict = json.loads(html) # используем loads()

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

Действие №3, думаю без комментариев все ясно:

for i in my_dict[‘response’]: artists_list.append(i[‘artist’]) titles_list.append(i[‘title’]) links_list.append(i[‘url’]) number += 1

Действие №4, последнее:

# Создаем директорию, если она не была создана ранее path = «downloads» if not os.path.exists(path): os.makedirs(path) # Принт для дебага print «Need to download: «, number # Процесс скачивания файлов for i in range(0, number): # Путь по которому будет храниться/скачиваться конкретная аудиозапись new_filename = path+»/»+artists_list[i] + » — » + titles_list[i] + «.mp3» print «Downloading: «, new_filename, i # Проверка на существующий файл if not os.path.exists(new_filename): # Сама загрузка файла, отсекаем из ссылки все аргументы и указываем путь куда скачивать with open(new_filename, «wb») as out: response = requests.get(links_list[i].split(«?»)[0]) out.write(response.content) print «Download complete.»

Ну вот, все работает.

Еще записи по теме

  • Элементарная напоминалка для Linux
  • Свой сервис для загрузки альбомов на Python
  • Как подружить Python с MySQL
  • Простое ускорение Python-скриптов
  • Как распечатать документ в формате чека воспользовавшись Python и Parse?
  • Runscript – утилита для запуска python скриптов
  • Python-рецепты. Словари

Источник: python-3.ru

freesmm.ru

SMM в Инстаграм, ВКонтакте, раскрутка и продвижение

SMM-программирование. Часть 1 — устанавливаем Python

Постараюсь опубликовать несколько статей по использованию VK API (https://vk.com/dev/) . Есть несколько причин, почему я решил написать про это:

  • хочу повысить уровень знаний типичного SMM-щика, которые знает только про готовые инструменты. Чтобы он понимал, что это всё можно сделать. Быть может будет больше качественных сервисов для социальных медиа в целом
  • чтобы каждый мог сделать простые вещи сам, а не искать по форумам и знакомым «программистов»


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

Какие нетипичные задачи могут возникать, под которые нет готовых инструментов:

  • анализ конкурента по обсуждениям — https://freesmm.ru/smm-help/cerebro-python/
  • открытьзакрыть стену по таймеру в группе, чтобы ночью не публиковалось ничего плохого
  • проанализировать статьи на сайте по лайкам
  • составить список сообществ, в которых вы «модератор», «редактор», «администратор», «создатель»
  • собирать статистику по группе ежеминутноможно и ежесекундно
  • и др.
Еще по теме:  Как накрутить лайки Вконтакте в приложении

На РИФ-20 ВКонтакте объявили, что будут колбеки для сообществ, наверное в чем их фишка поняли только 1% из тех, кто смотрел трансляцию. Типичный SMM-щик, естественно, пропустил это мимо ушей, хотя это очень важное и полезное обновление в API ВК.

Хороший Social Media Manager должен как минимум понимать что можно делать с помощью api социальных сетей, а как максимум уметь сам что-нибудь написать для решения задач, которые возникают у него постоянно. Когда вы понимаете «как» это работает и как должно работать проще сформулировать задание для более крутого разработчика чем вы.

    • 0.1 Что вам потребуется (основной набор)
    • 1.1 Язык программирования (ЯП)
    • 1.1.1 Как установить Python
    • 1.1.1.1 Вариант 1 — не самый подходящий для нас
    • 1.1.1.2 Вариант 2 — тот что будем использовать
    • 1.1.1.3 Вариант 3 — сложнее, но будет тоже востребован

    Что вам потребуется (основной набор)

    • Терпение и время
    • Желание разбираться в большем, чем тут будет написано

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

    Инструменты для работы

    Язык программирования (ЯП)

    Без ЯП никак не обойтись. Поэтому вам придётся изучить один из многих. Так как я сам только недавно начал изучать Python, то все примеру будут на нём и для Windows.

    Как установить Python

    Вариант 1 — не самый подходящий для нас

    Скачать с официального сайта — https://www.python.org/

    Вариант 2 — тот что будем использовать
    1. Скачать версию для Python 3.5
    2. Установить
    3. После установки в панели программ у вас должен появиться Jupiter NoteBook, если нет, то нужно будет через Launcher установить
    4. Запустить Jupiter Notebook
    5. Создать новый Python-файл
    6. Написать код (на этом пока остановимся)
    Вариант 3 — сложнее, но будет тоже востребован
    • Установить PyCharm Community — https://www.jetbrains.com/pycharm/download/#section=windows

    А какие задачи у вас возникают постоянно, которые бы вы хотели автоматизироватьупростить?

    Запись опубликована 16 апреля, 2016 автором Sergey Shmakov в рубрике api с метками api, python.

    Добавить комментарий

    Для отправки комментария вам необходимо авторизоваться.

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

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