@mitikostya

Vk API. Как загружать фотографии в личное сообщение?

Пытаюсь, я, значит загрузить фото в диалог ВК, использую для этого библиотеку Vk.Net для C#
var imageFile = "C:\\имя_картинки.jpeg"

              var uploadServer = api.Photo.GetMessagesUploadServer(); //Получаем ссылку на сервер для загрузок
              var uploadServerUri = uploadServer.UploadUrl;
              var uploader = new WebClient();
              var uploadResponseInBytes = uploader.UploadFile(uploadServerUri, imageFile); // Загружаем фото на сервер
              var uploadResponseInString = Encoding.UTF8.GetString(uploadResponseInBytes); 

              var jsonObject = (JObject)JsonConvert.DeserializeObject(uploadResponseInString);
              var photoParameter = jsonObject["photo"].ToString(); // вынимаем photo из ответа (исп. Newtonsoft.json)

Вот какой возвращается photo:

[{"photo":"49c64fbb0a:w","sizes":[["s","629526621","21260","6Jkf9T9YZjE",58,75],["m","629526621","21261","4YmH_tNjSBc",100,130],["x","629526621","21262","LvxGnkaZwL8",464,604],["y","629526621","21263","O21xjup4jp4",620,807],["z","629526621","21264","v2kvn2V540o",830,1080],["w","629526621","21265","v76d9glIcJo",922,1200],["o","629526621","21266","ihP89qpXY1E",130,169],["p","629526621","21267","i1SUBQRgNtM",200,260],["q","629526621","21268","fr7DAS5-riY",320,416],["r","629526621","21269","E69yG3z_ARk",510,664]],"kid":"92e5a11b70f880ac622c7fea7f5aba7c","debug":"xswmwxwywzwwwowpwqwrw"}]

Далее сохраняю его:
var photo = api.Photo.SaveMessagesPhoto(photoParameter);

Вот какую ошибку это возвращает:

error: {
error_code: 118,
error_msg: 'Invalid server',
request_params: [{
key: 'oauth',
value: '1'
}, {
key: 'method',
value: 'photos.saveMessagesPhoto'
}, {
key: 'photo',
value: '[{"photo":"49c64fbb0a:w","sizes":[["s","629526621","21260","6Jkf9T9YZjE",58,75],["m","629526621","21261","4YmH_tNjSBc",100,130],["x","629526621","21262","LvxGnkaZwL8",464,604],["y","629526621","21263","O21xjup4jp4",620,807],["z","629526621","21264","v2kvn2V540o",830,1080],["w","629526621","21265","v76d9glIcJo",922,1200],["o","629526621","21266","ihP89qpXY1E",130,169],["p","629526621","21267","i1SUBQRgNtM",200,260],["q","629526621","21268","fr7DAS5-riY",320,416],["r","629526621","21269","E69yG3z_ARk",510,664]],"kid":"92e5a11b70f880ac622c7fea7f5aba7c","debug":"xswmwxwywzwwwowpwqwrw"}]'
}, {
key: 'v',
value: '5.40'
}]
}

Как быть? Уже перечитал кучу гайдов, перегуглил все возможные формулировки моей проблемы, никто с подобным (вроде) не встречался.
  • Вопрос задан
  • 1920 просмотров
Пригласить эксперта
Ответы на вопрос 1
misterfil
@misterfil
PHP программист(Full Stack)
...
error_code: 118,
error_msg: 'Invalid server',

...
Недопустимый сервер.

Возвращает адрес сервера для загрузки фотографии в...
Сохраняет фотографию после успешной загрузки на URI

Возможно что ошибка тут
var uploadServerUri = uploadServer.UploadUrl;
Предполагаю что должно быть так
var uploadServerUri = uploadServer.upload_url;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы