Как загрузить фотографии в основной альбом сообщества через vk_api

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

Если я авторизуюсь через логин и пароль, то получаю "vk_api.exceptions.ApiError: [203] Access to group denied"

Если я использую токен: "vk_api.exceptions.ApiError: [27] Group authorization failed: method is unavailable with group auth"

Первый способ:

   def upload_pic(filename, album_id, group_id):
       vk_session = vk_api.VkApi(login=LOGIN, password=PASSWORD)
       try:
           vk_session.auth(token_only=True)
       except vk_api.AuthError as error_msg:
           print(error_msg)
           return
       upload = vk_api.VkUpload(vk_session)
       upload.photo(filename, album_id, group_id=group_id)

Второй способ:

    def upload_pic(filename, album_id, group_id):
        vk_session = vk_api.VkApi(token=TOKEN)
        upload = vk_api.VkUpload(vk_session)
        upload.photo(filename, album_id, group_id=group_id)

Разрешения для токена:

Разрешения для токена:

Ответы

▲ 1Принят

Не уверен, что дело именно в этом, но я вспомнил, что запросы vk_api используют именованные аргументы

Рабочий код:

    def upload_pic(filename, album_id, group_id):
        vk_session = vk_api.VkApi(login=LOGIN, password=PASSWORD)
        try:
            vk_session.auth(token_only=True)
        except vk_api.AuthError as error_msg:
            print(error_msg)
            return
        upload = vk_api.VkUpload(vk_session)
        upload.photo(filename, album_id=album_id, group_id=group_id)