Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Vkontakte API - загрузка изображения на стену 
:(
    Опции темы
meandnano
Дата 13.5.2011, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



Добрый день!
Делаю удаленную часть mobile-приложения (php страничка) для авторизации ВК и добавления на стену сообщения с фотографией.

Делаю загрузку изображения на сервер ВК следующим образом:
Цитата

Загрузка фотографий на стену пользователя осуществляется в 3 этапа: 

1. С помощью метода photos.getWallUploadServer приложение узнает http-адрес для загрузки фотографии на стену текущего пользователя, другого пользователя или группы в зависимости от переданных параметров uid или gid. 

2. Приложение формирует POST-запрос на полученный адрес. 
Запрос должен включать поле photo, содержащее файл с изображением (JPG, PNG, BMP или GIF) 

Пример результата загрузки фотографии: 

{"server": "4753", "photo": "2041c53171:w", "hash": "76a17dce73ccb6edf9d7382c7787d53a"}

3. С помощью метода photos.saveWallPhoto приложение передает серверу полученные данные (server, photo, hash и опциональные uid и gid) и получает данные о загруженной фотографии.


Столкнулся со следующей проблемой:
после получения адреса сервера делаю POST-запрос на него таким образом:[spoiler="Этап 2"]
Код
$ch = curl_init($uri);
 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "photo=$photo");  //$photo - прямая ссылка на изображение
 
    $result = curl_exec($ch);
 
    if (curl_errno($ch) != 0 && empty($result)) {
        $result = false;
    }
 
    curl_close($ch);
[/spoiler]
В возвращаемой json-строке получаю значения "server" и "hash", а [color=#FF0000]"photo" каждый раз возвращается пустым.[/color]
Соответственно, на следующем этапе я получаю ошибку - "не все требуемые параметры заполнены".

Есть идеи причины и решения? Может файл надо передавать не по URI, а как-то иначе?

PM MAIL   Вверх
gcc
Дата 13.5.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: -1
Всего: 17



PM WWW ICQ Skype GTalk Jabber   Вверх
l3talka
Дата 18.4.2012, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.4.2012

Репутация: нет
Всего: 1



Доброго времени суток, бьюсь сутки над проблемой, хочу загрузить фото в альбом vk.com через api. В документации написано что всё идёт в 3 этапа, первый это получить адресс сервера куда заливать фотографию, я получаю ссылку такого вида http://cs11174.vkontakte.ru/upload.php, второй этап это отправить POST запрос на этот адресс с данными вида file1 => 'photo', я отправляю но в ответ приходит сообщение Security Breach2. Отправляю через curl.

Вот сам код

Код


curl_setopt($ch, CURLOPT_URL, $server);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, true); 
$post= Array('file1' => '2.png');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$answer = curl_exec($ch);


Если кто сталкивался или есть готовый скрипт, пожалуйста помогите. Спс
PM MAIL   Вверх
Valinur
Дата 19.4.2012, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 21.9.2007
Где: Москва

Репутация: 4
Всего: 6



Может в печеньках дело? Ты их сохраняешь?
--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ...
PM MAIL   Вверх
l3talka
Дата 19.4.2012, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.4.2012

Репутация: нет
Всего: 1



да кукисы сохраняю в файл и использую из файла вот таким способом

Код

curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 


в ответ получаю ту же ошибку 

Security Breach2
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0940 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.