Шаг 1 – получение URL для загрузки Момента
Для этого используется метод moments.getUploadUrl. У метода есть несколько настроек, подробнее о которых можно прочитать в его описании.
Так как загрузка производится для определенного пользователя, то понадобится либо access_token, либо session_key, а также разрешение PHOTO_CONTENT от пользователя.
После выполнения запроса к API получаем ответ, в котором указаны будущий идентификатор (свойство photo_ids
), url для загрузки upload_url
, время до которого необходимо завершить загрузку expires_ms
(ttl_ms
).
Пример ответа:
Выполнив этот метод, можно перейти к следующему.
Шаг 2 – загрузка фотографий через HTTP POST
Непосредственная загрузка фотографий производится на upload_url
из первого шага.
Следующий фрагмент HTML-кода можно использовать для добавления изображения:
Ответ
Ответ содержит набор идентификаторов фотографий, для каждого из которых предоставляется токен, необходимый для последующего добавления загруженного медиа как Момента.
Пример ответа:
Примечание
Метод всегда отправляет ответ в формате JSON. Нет возможности запросить ответ в формате XML.
Возможные ошибки
Код ошибки | Причина |
---|---|
PHOTO_SIZE_LIMIT_EXCEEDED | Размер двоичного содержимого изображения в байтах превышает предел |
PHOTO_SIZE_TOO_SMALL | Слишком маленький размер изображения в пикселях |
PHOTO_SIZE_TOO_BIG | Слишком большой размер изображения в пикселях |
PHOTO_INVALID_FORMAT | Невозможно распознать формат изображения |
PHOTO_IMAGE_CORRUPTED | Формат изображения распознан, но содержимое повреждено |
PHOTO_NO_IMAGE | В запросе не найдено изображение |
Полный список возможных ошибок с кодами можно посмотреть на странице Обработка ошибок.
Шаги 1-2 необходимо повторить столько раз, сколько Моментов необходимо создать на шаге 3
При получении результата переходим к следующему шагу: созданию Момента.
Шаг 3 – создание момента
В последнюю очередь необходимо вызвать метод moments.commit.
Он завершает загрузку медиа и создает Момент, который публикуется от имени пользователя.
Для использования метода понадобятся идентификаторы загруженных фотографий и маркеры token
.
Более подробно о возможностях можно прочитать в описании метода.