Skip to content

D-Marc1/facebook-javascript-all-photos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Install

NPM

npm install facebook-javascript-all-photos

Import

import FbAllPhotos from 'facebook-javascript-all-photos';

Git

git clone https://github.com/WebsiteBeaver/facebook-javascript-all-photos.git

Import

import FbAllPhotos from 'facebook-javascript-all-photos/src/fb-code.js';

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'
});

FbAllPhotos

Class to simplify getting all Facebook albums and photos and albums using Facebook API.

Kind: global class
Properties

Name Type Description
fullObj object Full object of Facebook albums, photos and pagination.
errorObj object Facebook-specific error object.
profilePictureURL string Facebook profile picture URL.

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); //Error message from Facebook
    } else if(errorMsg === 'serverError') {
      console.log(fbAllPhotos.errorObj); //Fetch API response object
    } 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); //Error message from Facebook
    } else if(errorMsg === 'serverError') {
      console.log(fbAllPhotos.errorObj); //Fetch API response object
    } else if(errorMsg === 'noAlbum') {
      console.log('Album does not exist');
    } else if(errorMsg === 'noMore') {
      console.log('No more photos in album to retrieve');
    }
  });