vk icon indicating copy to clipboard operation
vk copied to clipboard

Vk.Docs.GetMessagesUploadServer

Open Siptrixed opened this issue 2 years ago • 7 comments

Перед созданием нового бага, пожалуйста попробуйте использовать последнюю версию из nuget. Если проблема продолжает воспроизводиться, то для создания нового бага отразите краткую суть проблемы в заголовке и заполните следующие пункты:

  1. Target для .NET используемый в проекте: (Официально поддерживаем , .net 4.5, NETStandard2.0) (поставьте 'x' в квадратных скобках)
  • [ ] .net 4.5
  • [ ] NETStandard2.0
  • [X] другое. Указать строкой ниже. .Net Xamarin
  1. Класс и метод в котором возникла проблема:

Vk.Docs.GetMessagesUploadServer

  1. Пример кода для воспроизведения проблемы, пожалуйста указавыйте конкретные значения параметров запроса:
  var server = Vk.Docs.GetMessagesUploadServer(id, DocMessageType.Doc);
  1. JSON ответа. Для удобства сбора этих данных подключите логи (https://github.com/vknet/vk/wiki/Logging):
Error: one of the parameters specified was missing or invalid: peer_id
  1. Если в примере не указаны конкретные значения параметров запроса укажите их здесь:

  2. PS Если у вас появился вопрос по работе функциональности, то обратитесь за помощью в Telegram Chat, или напишите мне, не нужно плодить задачи типа как работает ф-я X, в противном случае буду закрывать без объяснения причины. После разбора проблемы будем дополнять документацию более полными примерами

Siptrixed avatar Jan 25 '22 22:01 Siptrixed

Эта ошибка возникает из-за того, что Vk.Docs.GetMessagesUploadServer передаёт VK API ошибочный JSON-объект. Это произошло из-за того, что методы VK API обновились, а сама библиотека нет.

Посмотрим на этот метод в документации. Надо передать JSON-объект, у которого два ключа: peer_id и type, однако в библиотеке метод Docs.GetMessagesUploadServer передаёт JSON-объект с двумя ключами: group_id и type, соответственно всё решается переименованием ключа в библиотеке.

ablearthy avatar Feb 09 '22 17:02 ablearthy

На самом деле метод не обновлялся, а кто-то перепутал параметр и обновил его вместе с аналогичным методом из категории photos (в котором, как не смешно, тоже есть параметр peer_id, но его нет в доке). https://github.com/vknet/vk/pull/1215

ivanmem avatar Feb 14 '22 18:02 ivanmem

(в котором, как не смешно, тоже есть параметр peer_id, но его нет в доке).

Действительно, в документации написано, что есть group_id

А в схеме есть только peer_id

Притом, работает как group_id, так и peer_id. Думаю, стоит использовать peer_id

ablearthy avatar Feb 15 '22 16:02 ablearthy

peer_id нужен для того, чтобы ботом залить фотку от имени пользователя или админа беседы, т.е. будет использован другой скрытый альбом. это очень важный момент. если лить через group_id, то сможете залить только 10к фоток и альбом будет переполнен, придется писать в ТП и ждать пока вам их удалят.

ivanmem avatar Feb 15 '22 17:02 ivanmem

Зачем задачу закрыл? решения не вижу.

ivanmem avatar Feb 18 '22 08:02 ivanmem

Зачем задачу закрыл? решения не вижу.

Случайно с телефона нажал видимо

Siptrixed avatar Feb 18 '22 08:02 Siptrixed

Из одного issue репозитория ВКонтакте:

Документацию изменили, спасибо. Схеме - верить)

Так что верим схеме!

ablearthy avatar Feb 18 '22 13:02 ablearthy

0fa24410cda084cb27f06e9421c040c2a000b261

Panuchi avatar Mar 13 '23 22:03 Panuchi

Уже исправлено. @inyutin-maxim

Panuchi avatar Mar 13 '23 22:03 Panuchi