Гость
Покинул форум
Сообщений всего: 70
Дата рег-ции: Март 2011
Откуда: Riga, Latvia
Помог: 0 раз(а)
|
Согласно документации:
Загрузка фотографий на сервер ВКонтакте от имени пользователя осуществляется приложением в 3 этапа:
1. С помощью метода photos.getUploadServer приложение узнает http-адрес для загрузки фотографий в зависимости от альбома, в который их необходимо загрузить.
2. Приложение формирует POST-запрос на полученный адрес.
Запрос должен содержать поля file1-file5, которые содержат файлы с изображениями (JPG, PNG, BMP или GIF).
В ответ приложение получает следующие данные в формате JSON:
{"server": '1', "photos_list": '2,3,4', "album_id": '5', "hash": '12345abcde'}
Обратите внимание, что ответ сервера всегда приходит в формате JSON, а поля server, photos_list, album_id и hash в нем содержат строки, внутренний формат которых может изменяться со временем. В частности, строка photos_list может содержать другой json-объект, который не следует декодировать, разбирать на части или иным образом модифицировать.
3. С помощью метода photos.save приложение передает серверу полученные данные (server, photos_list, album_id и hash) и получает данные о загруженных изображениях.
Спойлер (Отобразить)
CODE ( htmlphp):
скопировать код в буфер обмена
$gorup_id = '-00000'; $album_id = '0000'; $access_token = '000000'; function api_vk($method, $param) { $getApi = file_get_contents('https://api.vk.com/method/' . $method . '?' . $param); return json_decode($getApi, true); } $photos_getWallUploadServer = api_vk('photos.getUploadServer', 'access_token=' . $access_token . '&album_id='. $album_id . '&group_id=' . $gorup_id); $upload_url = $photos_getWallUploadServer['response']['upload_url']; $aid = $photos_getWallUploadServer['response']['aid']; $img_src = 'news.jpg'; $data = array( 'file1' => '@'.$img_src, ); $ch = curl_init( $upload_url ); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec( $ch ); $response_decode = json_decode($response, true); curl_close( $ch ); $hash = $response_decode['hash']; $server = $response_decode['server']; $photo = $response_decode['photos_list']; $photos_save = api_vk('photos.save', 'access_token=' . $access_token . '&album_id='. $album_id . '&group_id=' . $gorup_id.'&server='.$server.'&photos_list='.$photo.'&hash='.$hash);
Вот вывод всех переменных
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
( ( [upload_url] => http://cs616327.vk.com/upload.php?act=do_add&mid=255629869&aid=198721276&gid=0&hash=0aaf8c7aae5fdb4f1a9049fccb5ad42c&rhash=695651d7be1b7bdf62c60a13625bb303&swfupload=1&api=1 [aid] => xxxxx [mid] => xxxx ) ) ( [server] => 616327 [photos_list] => [{"photo":"8db8ba6bd7:x","sizes":[["s","616327869","17e17","yJz4qJPPgY0",75,74],["m","616327869","17e18","0PJbeZdQaK0",130,129],["x","616327869","17e19","MBpvUyeq1rY",370,366],["o","616327869","17e1a","iML3cD-W5ZE",130,129],["p","616327869","17e1b","BkRL3UsEpuE",200,198],["q","616327869","17e1c","TIyHNRlFDLs",320,317],["r","616327869","17e1d","m49ukkny4UY",370,366]],"kid":"854c7533df1f6f663b83b103e0302402"}] [aid] => 198721276 [hash] => d4826bb8637a99b998f970720450f512 ) ( ( [error_code] => 121 [error_msg ] => Invalid hash [request_params ] => Array ( ( [value] => 1 ) ( [value] => photos.save ) ( [value] => 000000000000 ) ( [value] => 00000 ) ( [value] => -000000 ) ( [value] => 600000 ) ( [value] => [{"photo":"8db8ba6bd7:x","sizes":[["s","616327869","17e17","yJz4qJPPgY0",75,74],["m","616327869","17e18","0PJbeZdQaK0",130,129],["x","616327869","17e19","MBpvUyeq1rY",370,366],["o","616327869","17e1a","iML3cD-W5ZE",130,129],["p","616327869","17e1b","BkRL3UsEpuE",200,198],["q","616327869","17e1c","TIyHNRlFDLs",320,317],["r","616327869","17e1d","m49ukkny4UY",370,366]],"kid":"854c7533df1f6f663b83b103e0302402"}] ) ( [value] => d4826bb8637a99b998f970720450f512 ) ) ) )
Так вот где Ошибка почему Invalid hash и где ошибка. Поправите пожалуйста где ошибка зарание огромное спасибо.(Отредактировано автором: 09 Июля, 2014 - 11:39:02)
|