Python и VK API: photos.getUploadServer возвращает Access denied

Пытаюсь загрузить фото в VK-альбом:

def loadPhoto(filename, groupId, albumId, capt=''):
    upSrv = api.photos.getUploadServer(album_id=albumId, group_id=groupId)

Но получаю ошибку на первом шаге:

vk.exceptions.VkAPIError: 200. Access denied. request_params = {
   'method': 'photos.getUploadServer',
   'oauth': '1',
   'v': '5.103',
   'album_id': '272447100',
   'group_id': '-97072243'
}

Авторизуюсь по токену пользователя (администратора группы) с правами:

photos,friends,wall,groups,offline

Свойства целевого альбома:

  "id":272447100,
  "thumb_id":457239105,
  "owner_id":-97072243,
  "title":"t3_1",
  "description":"",
  "created":1580074902,
  "updated":1580929831,
  "size":1,
  "thumb_is_last":1,
  "can_upload":1,
  "upload_by_admins_only":0,
  "comments_disabled":0

При тех же условиях (user token, группа), photos.getWallUploadServer работает корректно.


Ответы (1 шт):

Автор решения: Fadd

Великолепный Агент Поддержки #10646 ВК решил проблему в одну строчку: Ответ Агента Поддержки

Оказалось, дело в разнице между параметрами owner_id и group_id:

owner_id принимает и положительные значения (ID пользователей), и отрицательные (ID сообществ).

group_id — это только положительные значения.

group_id = mod(owner_id) (если в owner_id идентификатор группы)

→ Ссылка