Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Загрузка битмапа в альбом в одноклассниках. (http://www.flasher.ru/forum/showthread.php?t=162430)

engineer_f_R 01.08.2011 16:22

Загрузка битмапа в альбом в одноклассниках.
 
Кто заливал фотографию в альбом одноклассников, подскажите как это сделать.

Использую метод sdk:
Код AS3:

Photos.upload([file_1], uploadPhotoCallback, "", "", photoAlbumAid,(/*а вот тут вопрос*/))
//file_1 - bitmap фотографии;

по скобкам вопрос следующий:
Если я не пишу ничего, мне возвращает ошибку, об отсутствии параметра photos.

Если я указываю пустой массив, то получаю следущую ошибку:
Цитата:

{"error_code":21,"error_data":null,"method":"photos.upload","error_msg":"NOT_MULTIPART : Endpoint requires a multipart content type"}
Если я отправляю туда:
Код AS3:

var photos:Object = new Object();
photos.caption = "";
 
var location:Object = new Object();
location.latitude = "";
location.altitude = "";
location.longitude = "";
location.cellId = "";
location.ipAddress = "";
location.country = "";
location.city = "";
photos.location = location;
 
var str:String = JSON.encode(photos);
отправляю [str];

получаю ошибку:
Цитата:

{"error_msg":"PARAM : Invalid parameter photos value : [[\"{\\\"caption\\\":\\\"\\\",\\\"location\\\":{\\\"ipAddress\\\":\\\"\\\",\\\"latitude\\\":\\\"\\\",\\\"country\\\":\\\"\\\",\\\"longitude\\\":\\\"\\\" ,\\\"city\\\":\\\"\\\",\\\"altitude\\\":\\\"\\\",\\\"cellId\\\":\\\"\\\"}}\"]]","method":"photos.upload","error_data":null,"error_code":100}
Подскажите пожалуйста, как всё таки залить битмап в альбом.

mickfallout 01.08.2011 23:01

у меня вот так работает:
Код AS3:

Photos.upload([photo],onPhotoUploaded,uploadURL,"","",[{"caption":" ", "location":{"latitude":45 ,"longitude":45}}]);

если сработает - отпишись пожалуйста сработает ли с ID альбома, т.е. примерно так:
Код AS3:

Photos.upload([photo],onPhotoUploaded,uploadURL,"","294276094976",[{"caption":" ", "location":{"latitude":45 ,"longitude":45}}]);


engineer_f_R 02.08.2011 08:15

А как формируется uploadURL?

mickfallout 02.08.2011 08:48

насколько я помню - можно и не формировать никак, ошибки не будет, сдк само подставит дефолтный, и с ним всё ок. а вообще - Photos.getUploadUrl()

engineer_f_R 02.08.2011 08:51

Если запрос выглядит так:
Код AS3:

Photos.upload([file_1], uploadPhotoCallback, "", "", "",[{"caption":" ", "location":{"latitude":45 ,"longitude":45}}]);

Получаем ошибку:
Цитата:

{"error_data":null,"method":"photos.upload","error_code":21,"error_msg":"NOT_MULTIPART : Endpoint requires a multipart content type"}

marat_sa 19.08.2011 01:03

Апну темку, Photos.getUploadUrl() у кого-нибудь вообще работает?

Я все вариации на тему уже испробовал...
Photos.getUploadUrl, Odnoklassniki.callRestApi("photos.getUploadUrl"..., через SignUtil напрямую.

Причем метод принимает 2 необязательных параметра - uid и aid, если их явно задать - выдается ошибка о неверно сгенерированном SIGе, если же какой-нибудь опустить, придет пустой ответ.

Тот же список альбомов, создание работает корректно.
У кого-нибудь получилось загрузить картинку в альбом? Поделитесь опытом.

mrs 29.08.2011 23:45

Цитата:

Сообщение от marat_sa (Сообщение 1023102)
Апну темку, Photos.getUploadUrl() у кого-нибудь вообще работает?

Я через JS узнаю, вот так:
Код AS1/AS2:

function getUploadUrl(){
        FAPI.Client.call( {method:'users.hasAppPermission',format:'JSON',ext_perm:'PHOTO CONTENT'},
                function(ss,dd,ee){ if(ss=='ok'&&dd==true) {
                        FAPI.Client.call( {method:'photos.getUploadUrl',format:'JSON'}, function(s,d,e) {
                                getGameSwf().getUploadUrlCallback(FAPI.Client.sessionSecretKey,
                                        FAPI.Client.applicationKey, s=='ok'?d:'' );
                        });
                } else if(ss=='ok') { FAPI.UI.showPermissions('["PHOTO CONTENT"]');
                } else getGameSwf().getUploadUrlCallback('','','');
        });
}

На AS по идее тоже не должно быть особых заморочек, мне просто так удобнее было реализовать.


Часовой пояс GMT +4, время: 07:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.