I have a flash application that is working great accept for displaying facebook albums, but there is a limit of 25 photos using the default settings. I've researched and it seems that you have to set the paging to a higher number and perhaps set the offset. I'm just not sure how to pass those values to facebook using ActionScript. Any help would be GREATLY appreciated. I'm including the code below:
Thanks,
Wray
***You can't change your past, but you can change your future***
Code:
import com.facebook.graph.Facebook;
import com.facebook.graph.controls.*;
import com.facebook.graph.core.*;
import com.facebook.graph.data.*;
import com.facebook.graph.net.*;
import com.facebook.graph.utils.*;
import flash.events.MouseEvent;
import com.adobe.serialization.json.*;
import flash.display.MovieClip;
var APP_ID:String = "248877778485757";
var SECRET_KEY:String = "b87cc3d878f524da6f813e61748c075a";
var albums:Array;
var aImages:Array;
aImages = new Array();
var aAlbumsButton:Array;
//Initialize Facebook library
Facebook.init(APP_ID, onInit);
function onInit(result:Object, fail:Object):void
{
login_mc.login_btn.buttonMode = true;
login_mc.login_btn.addEventListener(MouseEvent.CLICK, onLoginClick);
}
//
function onLoginClick(e:MouseEvent):void
{
root.makeFacebookScreen();
if (Facebook.getSession() && Facebook.getSession().accessToken==null)
{
// t.text = "LOGGED OUT";
var opts:Object = {perms:"publish_stream, user_photos"};
Facebook.login(onFacebookLogin, opts);
}
else
{
// t.text = "LOGGED IN";
Facebook.logout(onFacebookLogout);
}
}
//
function onFacebookLogout(success:Boolean):void
{
var opts:Object = {perms:"publish_stream, user_photos"};
Facebook.login(onFacebookLogin, opts);
}
//
function onFacebookLogin(result:Object, fail:Object):void
{
if (result)
{
loggedIn();
}
else
{
}
}
//
function loggedIn():void
{
//Facebook.api('/me/albums', onMyInfoLoaded);
//Facebook.api('/235523383144855/photos', onMyInfoLoaded);
}
//
function makeAlbums():void
{
Facebook.api('/me/albums', onMyAlbumsLoaded);
removeChild(login_mc);
}
//
function onMyAlbumsLoaded(result:Object,fail:Object):void
{
albums = result as Array;
aAlbumsButton = new Array();
for (var i:int = 0; i < albums.length; i++)
{
var album:MovieClip = new FacebookAlbumButton();
album.albumName = albums[i].name;
album.albumID = albums[i].id;
album.numPhotos = albums[i].count;
album.id = i;
album.y = 57 + i * album.height;
addChild(album);
aAlbumsButton[i] = album;
}
//load first album
loadPhotos(0);
}
function loadPhotos(_id:Number):void
{
removePhotos();
for each(var a in aAlbumsButton )
{
a.isClicked = false;
a.hover_mc.alpha = 0;
}
aAlbumsButton[_id].isClicked = true;
aAlbumsButton[_id].hover_mc.alpha = 1;
Facebook.api('/' + albums[_id].id + '/photos', onMyPhotosLoaded);
}
/*login_mc.x = 1000;
onMyPhotosLoaded(null, null);*/
//
function onMyPhotosLoaded(result:Object,fail:Object):void
{
photos = result as Array;
var xSpacing:int = 0;
var ySpacing:int = 0;
var rows:Number = 0;
var cols:Number = 0;
for (var i:int = 0; i < photos.length; i++)
{
var photo:MovieClip = new FacebookThumb();
photo.x = cols * photo.width + xSpacing;
photo.y = rows * photo.height + ySpacing;
photo.id = i;
photo.thumbPath = photos[i].images[2].source;
photo.photoPath = photos[i].source;
aImages[i] = photo;
images_mc.addChild(photo);
cols ++;
xSpacing += 15;
//if( cols >= 5 )
//{
//cols = 0;
//xSpacing = 0;
//rows ++;
//ySpacing += 15;
//}
}
holder_cmp.source = images_mc;
holder_cmp.verticalScrollPosition = 0;
holder_cmp.horizontalScrollPosition = 0;
}
function removePhotos():void
{
for each(var p in aImages )
p.removeObject();
aImages = [];
}
Thanks,
Wray
***You can't change your past, but you can change your future***