Удаление подписчиков личной странички Вконтакте методом friends.delete с помощью Python
Хочу удалить всех подписчиков со своей стриницы в ВК с помощью 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}}
Вроде бы всё хорошо, программа работает, но проблема в том, что все подписчики на месте и никуда не удалились. Что я делаю не так? Может быть их нужно удалять какими-то другими методами?
Источник: Stack Overflow на русском