Как ВКонтакте правильно проверить, что участники сообщества друзья?

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

Хочу построить граф, который будет связывать участников сообщества, которые находятся друг у друга в друзьях.

Собрала членов сообщества ВКонтакте. Далее хотела получить таблицу, в которой source и target будут участники сообщества, которые являются друзьями.

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

{'error': {'error_code': 28, 'error_msg': 'Application authorization failed: method is unavailable with service token.', 'request_params': [{'key': 'v', 'value': '5.131'}, {'key': 'offset', 'value': '0'}, {'key': 'fields', 'value': 'user_ids'}, {'key': 'friend_status', 'value': '3'}, {'key': 'method', 'value': 'friends.areFriends'}, {'key': 'oauth', 'value': '1'}]}}

и указывала разрешённые параметры https://vk.com/dev/friends.areFriends

for user_id in hall_of_fame.items():
  def are_friends():
    fri = requests.get('https://api.vk.com/method/friends.areFriends', params={
            'access_token':token,
            'v':5.131,
            'sort':'id_desc',
            'offset': 0,
            'fields':'user_ids',
            'friend_status': 3,
        }).json()
    print(fri)

Как получить такую таблицу, в который будет два столбца с айди участников, которые друзья?

Ответы

▲ 0Принят

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

Такое чувство, что вы хотите использовать метод friends.get, который возвращает список всех друзей одного пользователя. А вот метод, который вы используете, возвращает информацию о том, добавлен ли текущий пользователь в друзья у указанных пользователей.

Предложение для решения вашей задачи: Получить id друзей пользователя: friends.get и, среди этих друзей, находить подписчиков группы groups.isMember.