Ошибка хэша при сохранении изображения на сервере VK

102
22 января 2022, 14:30

Я пытаюсь загрузить картинку в альбом сообщества. Для этого я использую 3 шага.

  1. Получаю upload url методом photos.getUploadServer.

  2. На полученный ранее url отправляю POST запрос с параметром file1 содержащим путь до изображения. В ответ получаю:

     object(stdClass)#3 (5) { ["server"]=> int(205624) ["photos_list"]=> string(701) "[{"markers_restarted":true,"photo":"39b1493dc0:x","sizes":[["s",205624991,"1f01e","5VBWxTukKmk",75,42],["m",205624991,"1f01f","5ceiaLhAcp8",130,73],["x",205624991,"1f020","jfjnKOuFB44",560,315],["o",205624991,"1f021","mQrhQy0kuEM",130,87],["p",205624991,"1f022","p9YH3jUwfuE",200,133],["q",205624991,"1f023","YbRDRgSb9-Y",320,213],["r",205624991,"1f024","EGC7hE1tfwA",510,315]],"latitude":0,"longitude":0,"kid":"57fc04193932cf5517a97ccc988a94d9","urls":["v205624991/1f01e/5VBWxTukKmk.jpg","v205624991/1f01f/5ceiaLhAcp8.jpg","v205624991/1f020/jfjnKOuFB44.jpg","v205624991/1f021/mQrhQy0kuEM.jpg","v205624991/1f022/p9YH3jUwfuE.jpg","v205624991/1f023/YbRDRgSb9-Y.jpg","v205624991/1f024/EGC7hE1tfwA.jpg"]}]" ["aid"]=> int(268634092) ["hash"]=> string(32) "afd986f8a902829d0736434acd87f17b" ["gid"]=> int(180749912) }
    
  3. Вызываю метод сохранения изображения на сервере ВК:

    $safe = json_decode(file_get_contents('https://api.vk.com/method/photos.save?server='.$result->server.'&photos_list='.$result->photos_list.'&album_id='.$result->aid.'&gid='.$result->gid.'&access_token='.$access_token.'&hash='.$result->hash.'&v='.$v),true);
    

Но я получаю следующую ошибку:

Array ( [error] => Array ( [error_code] => 121 [error_msg] => Invalid hash [request_params] => Array ( [0] => Array ( [key] => server [value] => 200416 ) [1] => Array ( [key] => photos_list [value] => [{"markers_restarted":true,"photo":"98785f6242:x","sizes":[["s",200416991,"1f411","HVJYZHXE68Q",75,42],["m",200416991,"1f412","E9V10ZrJwaI",130,73],["x",200416991,"1f413","DMw651MbUNs",560,315],["o",200416991,"1f414","fV3nncE_uhg",130,87],["p",200416991,"1f415","g5CwhQeEuQw",200,133],["q",200416991,"1f416","knVwWu4UtRI",320,213],["r",200416991,"1f417","c7bjcm2QCuo",510,315]],"latitude":0,"longitude":0,"kid":"57fc04193932cf5517a97ccc988a94d9","urls":["v200416991/1f411/HVJYZHXE68Q.jpg","v200416991/1f412/E9V10ZrJwaI.jpg","v200416991/1f413/DMw651MbUNs.jpg","v200416991/1f414/fV3nncE_uhg.jpg","v200416991/1f415/g5CwhQeEuQw.jpg","v200416991/1f416/knVwWu4UtRI.jpg","v200416991/1f417/c7bjcm2QCuo.jpg"]}] ) [2] => Array ( [key] => album_id [value] => 268634092 ) [3] => Array ( [key] => gid [value] => 180749912 ) [4] => Array ( [key] => hash [value] => 52eed50b6c9e477585d3747a3bae11a6 ) [5] => Array ( [key] => v [value] => 5.103 ) [6] => Array ( [key] => method [value] => photos.save ) [7] => Array ( [key] => oauth [value] => 1 ) ) ) )

Я убирал из запроса: &gid='.$result->gid.' как советовали на форумах, но это не решило проблему. Не понимаю, что не так?

READ ALSO
NULL при return в функции для получения месяца

NULL при return в функции для получения месяца

Я хочу вывести месяц, но что-то идёт не так и $month возвращает NULL $cat['pubdate'] - тут я получаю строку в виде 2019-12-18 12:11:57 $monthIndex = intval($monthIndex); - то что получил...

86
Корректное сравнение даты

Корректное сравнение даты

ПодскажитеВ бд записывается дата с +7 дней от текущей

71
Yii Rest. Failed to set unsafe attribute

Yii Rest. Failed to set unsafe attribute

Я пишу приложение - backend: Yii2, frontend : angularЯ использую Yii ActiveController

119
Как сделать проверку на значение таблицы

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

Нужно чтобы шла проверка по всем пользователям в таблице (ban_drivers) по колонке (ban_do) если значение в (ban_do) у какого-то пользователя совпадает...

107