photos.getWallUploadServer

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Ali
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:07

photos.getWallUploadServer

Сообщение Ali »

Пытаюсь загрузить фото на стену, используя эту инструкцию:
Загрузка фотографий на стену пользователя осуществляется в 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) и получает данные о загруженной фотографии.

После успешной загрузки фотографии Вы можете разместить её на стене, используя метод wall.post и указав идентификатор
фотографии в параметре attachment. Обратите внимание, что при размещении фотографии на стене другого пользователя или
группы необходимо указывать параметры uid и gid, соответствующие используемым в п.1.


Но первый же запрос (photos.getWallUploadServer) выдает ответ: Permission to perform this action is denied by user

У пользователя все разрешено, в приложении стоит галочка "запрашивать доступ к стене".
Что необходимо предпринять, что бы этот запрос отработал нормально?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: photos.getWallUploadServer

Сообщение bodnar »

хм, а доступ к друзьям?
Ali
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:07

Re: photos.getWallUploadServer

Сообщение Ali »

тоже есть
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: photos.getWallUploadServer

Сообщение Александр »

Доступ к фотографиям?
Запрос выполняется с клиентской части или с серверной?
Ali
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:07

Re: photos.getWallUploadServer

Сообщение Ali »

Да, спасибо, проблема была в доступе к фотографиям. Хотя, не понимаю, зачем он мне? Я ведь не обращаюсь к альбомам пользователя. Но с этим доступом и на стену фото отправилось благополучно.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: photos.getWallUploadServer

Сообщение bodnar »

как это не обращаешься? А фотки по твоему куда грузятся? В специальный альбом который называется "Фотографии на моей странице" не?
xenreal
Сообщения: 33
Зарегистрирован: 29 ноя 2010, 16:39

Re: photos.getWallUploadServer

Сообщение xenreal »

Делал загрузку изображения из флэша во вконтакт, для борьбы с политиками безопасности использовал php скрипт(флэшка находится на своем домене, поэтому пост запрос вконтакт выполнить не может). Столкнулся с проблемой, что если сразу загрузить полученную фотографию вконтакт, в ответе он выдает пустой список фоторафий, а фотография естественно не загружается.

Вот этот код непонятно, почему не рабтает:

Код: Выделить всё

<?php  $postURL = $_POST['photoURL'];  $photoData = $_POST['photoData'];   $decodedPhotoData = base64_decode($photoData);  $postData['photo'] = $decodedPhotoData;   $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $postURL);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($ch, CURLOPT_POST, 1);  curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);  $output = curl_exec($ch);  curl_close($ch);  echo $output;?>
Если же сначала сохранять фотографию, а потом передавать в пост запрос загруженное изображение, вконтакт успешно сохраняет фотографию.

Код: Выделить всё

<?php  $viewerID = $_POST['viewerID'];  $postURL = $_POST['photoURL'];  $photoData = $_POST['photoData'];  $fileExtension = '.jpg';   $fileName = 'screenshots/' . (int)$viewerID . $fileExtension;  $decodedPhotoData = base64_decode($photoData);    if (viewerId) {    $file=fopen($fileName,'w');     fwrite($file,$decodedPhotoData);     fclose($file);   }   //$postData['photo'] = $decodedPhotoData;  $postData['photo'] = '@' . $fileName;   $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $postURL);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($ch, CURLOPT_POST, 1);  curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);  $output = curl_exec($ch);  curl_close($ch);  echo $output;?>
Хотелось бы узнать, что может добавиться в файл, после сохранения его в .jpg на сервере, что позволяет вконтакту прочитать его.
Ответить