Facebook API JavaScript SDK get all Albums and Photos
A simple demo of how to use the Facebook API with the JavaScript SDK to get all of your albums and photos. Luckily the Cordova Facebook plugin is pretty similar to it also.
A full writeup can be found here https://websitebeaver.com/facebook-api-javascript-sdk-get-all-albums-and-photos, along with a demo video.
How to Use?
Firstly, you must get approved by approved by Facebook to use user_photos
permissions.
Once you're aproved, you just need to change the appId
property on FB.init()
, which is located in index.html.
FB.init({
appId : ENTER APP ID HERE,
autoLogAppEvents : true,
xfbml : true,
version : 'v3.0'
});
Just Using the Functions
FbAllPhotos
Class to simplify getting all Facebook albums and photos and albums using Facebook API.
Kind: global class
new FbAllPhotos()
Create empty object.
Example
const fbAllPhotos = new FbAllPhotos();
fbAllPhotos.getProfilePicture()
Get Facebook profile picture.
Kind: instance method of FbAllPhotos
Fulfil: string
- The url of the Facebook profile picture
Reject: Error
- Rejected promise with message.
Example
fbAllPhotos.getProfilePicture()
.then(profilePictureURL => { console.log(profilePictureURL); })
.catch(errorMsg => {
if(errorMsg === 'fbError') {
console.log(fbAllPhotos.errorObj.message);
} else if(errorMsg === 'noProfilePicture') {
console.log('No profile picture');
}
});
fbAllPhotos.getAlbums([limitAlbums])
Get Facebook albums.
Kind: instance method of FbAllPhotos
Fulfil: object
- The full Facebook albums and photos object.
Reject: Error
- Rejected promise with message.
Param | Type | Default | Description |
---|
[limitAlbums] | int | 25 | The number of albums to retrieve. |
Example
fbAllPhotos.getAlbums(15)
.then(fullObj => { console.log(fullObj); })
.catch(errorMsg => {
if(errorMsg === 'fbError') {
console.log(fbAllPhotos.errorObj.message);
} else if(errorMsg === 'noAlbums') {
console.log('No albums');
}
});
fbAllPhotos.getPhotosInAlbum(albumId, [limitPhotos])
Get Facebook photos in a specified album.
Kind: instance method of FbAllPhotos
Fulfil: object
- Object with only specified album and its photos.
Reject: Error
- Rejected promise with message.
Param | Type | Default | Description |
---|
albumId | int | | The album id to get photos from. |
[limitPhotos] | int | 25 | The number of photos in an album to retrieve. |
Example
const albumId = 8395830308572754;
fbAllPhotos.getPhotosInAlbum(albumId, 15)
.then(albumObj => { console.log(albumObj); })
.catch(errorMsg => {
if(errorMsg === 'fbError') {
console.log(fbAllPhotos.errorObj.message);
} else if(errorMsg === 'noAlbum') {
console.log('Album does not exist');
} else if(errorMsg === 'noPhotos') {
console.log('No photos in album');
}
});
fbAllPhotos.getMoreAlbums()
Get more Facebook albums.
Kind: instance method of FbAllPhotos
Fulfil: object
- The full Facebook albums and photos object.
Reject: Error
- Rejected promise with message.
Example
fbAllPhotos.getMoreAlbums()
.then(fullObj => { console.log(fullObj); })
.catch(errorMsg => {
if(errorMsg === 'fbError') {
console.log(fbAllPhotos.errorObj.message);
} else if(errorMsg === 'serverError') {
console.log(fbAllPhotos.errorObj);
} else if(errorMsg === 'noMore') {
console.log('No more albums to retrieve');
}
});
fbAllPhotos.getMorePhotosInAlbum(albumId)
Get more Facebook photos in a specified album.
Kind: instance method of FbAllPhotos
Fulfil: object
- Object with only specified album and its photos.
Reject: Error
- Rejected promise with message.
Param | Type | Description |
---|
albumId | int | The album id to get more photos from. |
Example
const albumId = 8395830308572754;
fbAllPhotos.getMorePhotosInAlbum(albumId)
.then(albumObj => { console.log(albumObj); })
.catch(errorMsg => {
if(errorMsg === 'fbError') {
console.log(fbAllPhotos.errorObj.message);
} else if(errorMsg === 'serverError') {
console.log(fbAllPhotos.errorObj);
} else if(errorMsg === 'noAlbum') {
console.log('Album does not exist');
} else if(errorMsg === 'noMore') {
console.log('No more photos in album to retrieve');
}
});