размещение фото пользователя и фото друзей в приложении

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

Re: размещение фото пользователя и фото друзей в приложении

Сообщение gaponj88 »

если да-то:

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

 public function Main(){    var flashVars:Object = stage.loaderInfo.parameters as Object;    api_id = flashVars['api_id'];    viewer_id = flashVars['viewer_id'];    sid = flashVars['sid'];    secret = flashVars['secret'];     VK = new APIConnection(flashVars);    VK.api('friends.get', {fields:'first_name,last_name'}, friendsLoaded, onError2);    VK.api('getProfiles', { uids: flashVars['viewer_id'],fields:'photo_medium_rec' }, onProfileLoaded, onError);       }private function onProfileLoaded(data: Object):void{avatar.source = data[0].photo_medium_rec;}private function oError(data: Object):void{result_tf.text = data.error_msg;} private function friendsLoaded(data: Object):void{    frCount = data.length;    result_tf.text = 'Количество друзей: ' + frCount + "\n";    for (var i=0; i<frCount; i++)    {var avatar2:UILoader=new UILoader;avatar2.source = data[i].photo_rec;avatar2.autoLoad = true;avatar2.scaleContent = false;avatar2.move(155+i*82,55);addChild(avatar2);}}private function onError2(data: Object):void{result_tf.text = data.error_msg;} 
и будет тебе счастье,покажет твое фото,и фото друзей!Если надо укажи и имена(или другие параметры)
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: размещение фото пользователя и фото друзей в приложении

Сообщение sanych_dv »

О Господи, изобретатели костылей ))

Приведите в запросе тип данных к строке и будет вам счастье:

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

         private function onFriendsLoaded(data:Object):void            {                    VK.api('getProfiles',{ uids: data.toString(), fields:'photo_medium'}, onFriendsPhotosLoaded,onError);            } 
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: размещение фото пользователя и фото друзей в приложении

Сообщение sanych_dv »

Необходимые данные можно получить за один запрос:

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

             var code:String = "var _friends_getAppUsers = API.friends.getAppUsers({}); var _friendsPhotos = API.getProfiles({uids: _friends_getAppUsers, fields: Args.fields });  return { friendsPhotos: _friendsPhotos }; ";            var field:String = "photo_medium_rec";            VK.api('execute', {'code': code, 'fields': field}, onExecute, onError);                 private function onExecute(_data:Object):void        {            for (var str:String in _data.friendsPhotos)            {                trace(_data.friendsPhotos[str].uid, _data.friendsPhotos[str].photo_medium_rec);                            }        }   
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: размещение фото пользователя и фото друзей в приложении

Сообщение sanych_dv »

И еще добавляем в запрос свой ID :

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

     var code:String = "var _friends_getAppUsers = API.friends.getAppUsers({}); var _friendsPhotos = API.getProfiles({uids: _friends_getAppUsers + Args.uids, fields: Args.fields });  return { friendsPhotos: _friendsPhotos }; ";            var field:String = "photo_medium_rec";            var addUids:String = "," + flashVars['viewer_id'];            VK.api('execute', {'code': code, 'fields': field, 'uids' : addUids}, onExecute, onError); 
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: размещение фото пользователя и фото друзей в приложении

Сообщение XELAD »

Объясните, в чём разница между API и VK.api , указанные в посте выше?
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: размещение фото пользователя и фото друзей в приложении

Сообщение XELAD »

Протупил - VK.api - функция.
У меня схожая проблема с методом execute - не знаю, создавать ли новую тему.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: размещение фото пользователя и фото друзей в приложении

Сообщение XELAD »

:lol: Забыл кавычку в Code.
Если кому-то поможет -
вот код вывода информации о друзьях, установивших приложение
(используя метод execute)
:

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

var code_str = 'return {"appfriends":API.users.get({"uids": API.friends.getAppUsers({}), "fields":"uid,first_name,last_name,photo,online"})};';vkBase.API('execute', {code: code_str}, traceAppFriends, throwError); public function traceAppFriends(response){    var tmp_str:String = new String();    tmp_str += "Друзья, установившие приложение:\n";    for(var i in response['appfriends'])    {        tmp_str += response['appfriends'][i]['uid'] + " | " +                     response['appfriends'][i]['first_name'] + " " +                    response['appfriends'][i]['last_name'] + " | " +                     response['appfriends'][i]['online'] + " | " +                    response['appfriends'][i]['photo'] + "\n";    }    trace(tmp_str); //Код предназначался для вывода в textField, используя htmlText}
mastaxys
Сообщения: 32
Зарегистрирован: 12 янв 2013, 14:41

Re: размещение фото пользователя и фото друзей в приложении

Сообщение mastaxys »

sanych_dv писал(а):Необходимые данные можно получить за один запрос:

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

             var code:String = "var _friends_getAppUsers = API.friends.getAppUsers({}); var _friendsPhotos = API.getProfiles({uids: _friends_getAppUsers, fields: Args.fields });  return { friendsPhotos: _friendsPhotos }; ";            var field:String = "photo_medium_rec";            VK.api('execute', {'code': code, 'fields': field}, onExecute, onError);                 private function onExecute(_data:Object):void        {            for (var str:String in _data.friendsPhotos)            {                trace(_data.friendsPhotos[str].uid, _data.friendsPhotos[str].photo_medium_rec);                            }        }   
при таком запросе в xml приходит вот что:
{"error":{"error_code":3,"error_msg":"Unknown method passed: Session can be expired, revoked by user or connected with different IP address","request_params":[{"key":"v","value":"3.0"},{"key":"sig","value":"e60d5541eb2998a51cc9efffaf57e46a"},{"key":"format","value":"JSON"},{"key":"fields","value":"photo_medium_rec"},{"key":"api_id","value":"3353731"},{"key":"code","value":"var _friends_getAppUsers = API.friends.getAppUsers({}); var _friendsPhotos = API.getProfiles({uids: _friends_getAppUsers + Args.uids, fields: Args.fields }); return { friendsPhotos: _friendsPhotos }; "},{"key":"sid","value":"null"},{"key":"method","value":"execute"}]}}
Что не так делаю?
agni
Сообщения: 100
Зарегистрирован: 07 июн 2010, 11:04

Re: размещение фото пользователя и фото друзей в приложении

Сообщение agni »

если вы делаете в данный момент на локальной машине, то Вам нужно указать(если не делали до этого) или ЗАНОГО указать
параметры sid, secret, потому что они через некоторое время могут:
can be expired
Ответить