Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 2
VK API

Фото вроде загружается, но его нет

03.08.2015, 03:11. Показов 1463. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пытаюсь загрузить изображение в альбом группы
Сначала получаю url для загрузки
PHP
1
2
3
4
5
6
7
8
9
10
11
function vkPhotoGetUploadServer(){
    $access_token = 'a5f1165afad55eabcbbb5***c1f968a04724f41c9f0b5edbde7e39b8edd5e4bbb4';
    $group_id = '99305434';
    $album_id = '219142959';
    $request = 'https://api.vkontakte.ru/method/photos.getUploadServer?access_token=' . $access_token .
        '&album_id=' . $album_id .
        '&group_id=' . $group_id;
 
    $response = json_decode(file_get_contents($request));
    return $response;
}
Получил. Выполняю загрузку
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function vkPhotoDownload($upload_url, $photo1){
 
    $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3';
    $files = array('file1'=>'@' . '/var/w***u/evacrm/php_script/autoposting/thumbs/original/29.jpg');
 
    $ch = curl_init($upload_url);
 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data'));
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $files);
 
    $response = json_decode(curl_exec($ch));
    return $response;
}
Ответ

PHP
1
2
3
4
5
6
7
8
9
10
11
12
object(stdClass)#4 (5) {
  ["server"]=>
  int(623421)
  ["photos_list"]=>
  string(410) "[{"photo":"58ab271cbb:x","sizes":[["s","623421524","2a4d5","_iYV_qdZYVw",56,75],["m","623421524","2a4d6","NCY12Mx_zVI",97,130],["x","623421524","2a4d7","KirzMRhinWU",375,500],["o","623421524","2a4d8","LB-JNpHJu4Q",130,173],["p","623421524","2a4d9","psfDqpK3gzg",200,267],["q","623421524","2a4da","wkvoemz5KRU",320,427],["r","623421524","2a4db","Yiw81oKOSpo",375,500]],"kid":"9d384eb777516a2d7630f4b5c593ae30"}]"
  ["aid"]=>
  int(219142959)
  ["hash"]=>
  string(32) "168296646979684193fb052488a690a3"
  ["gid"]=>
  int(99305434)
}
Вроде пока нормально. Сохраняю
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function vkPhotoSave($access_token, $album_id, $group_id, $server, $photos_list, $hash, $caption = ''){
    $request = 'https://api.vkontakte.ru/method/photos.getUploadServer?' .
        'access_token=' . $access_token .
        '&album_id=' . $album_id .
        '&group_id=' . $group_id .
 
        '&server=' . $server .
        '&photos_list=' . $photos_list .
        '&hash=' . $hash .
        '&caption=' . $caption;
 
    $response = json_decode(file_get_contents($request));
    return $response;
}
Ответ
PHP
1
2
3
4
5
6
7
8
9
10
11
object(stdClass)#3 (1) {
  ["response"]=>
  object(stdClass)#5 (3) {
    ["upload_url"]=>
    string(184) "http://cs623421.vkontakte.ru/upload.php?act=do_add&mid=5413524&aid=219142959&gid=99305434&hash=331dcf6adec0ea01374e8b535f4c8d85&rhash=0dd94053743df27e8e961391e887dc0b&swfupload=1&api=1"
    ["aid"]=>
    int(219142959)
    ["mid"]=>
    int(5413524)
  }
}
В итоге мне не понятно из этого сообщения было ли что-то загружено, но по факту альбом так и остался пустым. Не могу никакой информации найти по этому вопросу. Помогите пожалуйста!

Добавлено через 2 часа 0 минут
Да ё-маё, 4 часа мучений и поисков, а всего-то в последней функции не тот метод написал photos.getUploadServer надо заменить на photos.save. Все работает.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.08.2015, 03:11
Ответы с готовыми решениями:

Пропадает интернет - вроде он есть, а вроде его нет
Приветствую друзья. Собственно вчера все началось. Сижу в ФФ 28.0. Через какое-то время пропадает интернет. Сижу через вайфай роутер,...

Вроде нет его но он есть
Если кто-то встречался с подобным - помогите чайнику! Дело в том что распаковав rar-архив винраром в папках не оказалось файлов, просто...

Непонятки с видеокартой-вроде и пашет, а вроде и нет
В общем такая штука-была у меня раньше старая карточка matrox millenium g550.и рещшил я ее обновить.Купил значится Saphire radeon 3450...

3
05.08.2015, 15:59

Не по теме:

lucky89, vkontakte.ru уже устарел, переходите на vk.com, он и работать будет быстрее, т.к. vkontakte.ru сначала делает редирект на vk.com, а затем выполняет запросы.

0
0 / 0 / 0
Регистрация: 25.11.2015
Сообщений: 1
25.11.2015, 17:45
работа скрипта 0 секунд(
что я здесь сделал не правильно?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
 
 
$start = microtime(true);
 
function vkPhotoGetUploadServer(){
    $access_token = '6d5e994395d2194b105e86512a749cfa********6a0a78ca5d0265bc121ea202c3c52';
    $group_id = '10769***';
    $album_id = '22462***';
    $request = 'https://api.vk.com/method/photos.getUploadServer?access_token=' . $access_token .
        '&album_id=' . $album_id .
        '&group_id=' . $group_id;
 
    $response = json_decode(file_get_contents($request));
    return $response;
 
 
}
 
function vkPhotoDownload($upload_url, $photo1){
 
    $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3';
    $files = array('file1'=>'@' . './ррр.png');
 
    $ch = curl_init($upload_url);
 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data'));
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $files);
 
    $response = json_decode(curl_exec($ch));
    return $response;
}
 
function vkPhotoSave($access_token, $album_id, $group_id, $server, $photos_list, $hash, $caption = ''){
    $request = 'https://api.vk.com/method/photos.getUploadServer?' .
        'access_token=' . $access_token .
        '&album_id=' . $album_id .
        '&group_id=' . $group_id .
 
        '&server=' . $server .
        '&photos_list=' . $photos_list .
        '&hash=' . $hash .
        '&caption=' . $caption;
 
    $response = json_decode(file_get_contents($request));
    return $response;
}
 
$time = microtime(true) - $start;
printf('Скрипт выполнялся %.4F сек.', $time);
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
28.11.2015, 21:17
vladimir877,
PHP
52
vkPhotoGetUploadServer(); // вы просто забыли вызвать (запустить) эту функцию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2015, 21:17
Помогаю со студенческими работами здесь

HTML-форма, вроде просто, а вроде и нет
Уважаемые форумчане, помогите пожалуйста! Есть HTML-таблица с формой: |______|_A______|_B______| |_Вася_|_input_A_|_input_B_| ...

Вроде база есть, а вроде её нет
Здравствуйте, загрузил сайт, загрузил базу. Картина получается вот такая - realt-plus.ru В скрипте подключения базы прописал нового...

Вроде переполнение, а вроде бы и нет
День добрый! Интересует, почему си не дает мне сделать следующую штуку. int a = 4999998848; cout &lt;&lt; a*2 &lt;&lt; endl; ...

Вроде элементарная задача ан - нет. Нет такой функции!?
Как представить целое число в виде строки его двоичного представления?

Windows вроде бы и загружается, но потом синий экран с текстом
Подскажите, как запустить ОС? При загрузке система сама без нажатия F8 выдаёт список разных способов загрузки. Но все они приводят к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru