Удаление подписчиков личной странички Вконтакте методом friends.delete с помощью Python

Рейтинг: 0Ответов: 1Опубликовано: 12.05.2023

Хочу удалить всех подписчиков со своей стриницы в ВК с помощью Python.
Использую vk api и модуль requests.
Пишу такой код:

import requests
from time import sleep

token = 'token...'

# Запрашиваю их количество
res = requests.get(f'https://api.vk.com/method/users.getFollowers?access_token={token}&v=5.131')
count_followers = res.json()['response']['count']
step = 1000
offset = 0
fl_list = []

# Беру всех, если их много, результат записывается в fl_list
while offset < count_followers:
    response = requests.get(f'https://api.vk.com/method/users.getFollowers?'
                            f'access_token={token}&v=5.131&count={step}&offset={offset}')
    id = response.json()['response']['items']
    id_list = ','.join(map(str, id))
    sleep(2)
    get_fr_info = requests.get(f'https://api.vk.com/method/users.get?user_ids={id_list}&access_token={token}&v=5.131')
    fr_info = get_fr_info.json()['response']
    fl_list.extend(fr_info)
    offset += step

print(f'Всего подписчиков: {len(fl_list)}')
for l in range(len(fl_list)):
    print(f"{fl_list[l]['first_name']} {fl_list[l]['last_name']}({fl_list[l]['id']})")

if len(fl_list) > 0:
    print('\n')
    print('Для очистки наберите: 1 ')
    print('Отмена\Выход наберите: 2')
    try:
        x = int(input('>>>'))
    except ValueError:
        x = 2
    if x == 1:
        for a1 in range(len(fl_list)):
            d1 = fl_list[a1]['id']
            de = requests.get(f'https://api.vk.com/method/friends.delete?user_id={d1}&access_token={token}&v=5.131')
            print(de.json())
            print(f"{fl_list[a1]['first_name']} {fl_list[a1]['last_name']} ({a1 + 1}\{len(fl_list)}) - ОК")
            sleep(5)
        print('Готово.')
    elif x == 2:
        print('Выходим...')
else:
    print('Нечего удалять, выходим...')

Права доступа friends для приложения и токена конечно же получены.
При отправке запроса на удаление входящей заявки, для каждого подписчика, получаю ответ от сервера, что запрос выполнен успешно:

{'response': {'success': 1, 'in_request_deleted': 1}}

Вроде бы всё хорошо, программа работает, но проблема в том, что все подписчики на месте и никуда не удалились. Что я делаю не так? Может быть их нужно удалять какими-то другими методами?

Ответы

▲ 0

Попробуйте так:

  1. account.ban
  2. подождать 5 минут
  3. account.unban