aff

angular-facebook-factory

Facebook factory for AngularJS

Showing:

Popularity

Downloads/wk

13

GitHub Stars

1

Maintenance

Last Commit

5yrs ago

Contributors

1

Package

Dependencies

0

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

angular-facebook-factory

Facebook factory for AngularJS 1.x

Example

View auth example

Config

angular
  .module('app', ['ngFacebook'])
  .controller('AppController', ['$scope','FacebookFactory',function($scope,FacebookFactory) {
    FacebookFactory.setLang('pt_BR') // set lang
    FacebookFactory.init({
      appId: 'appId', // required, default = null
      status: true, // optional, default = true
      cookie: false, // optional, default = false
      xfbml: false, // optional, default = false
      version: 'v2.8' // optional, default = v2.4
    })
  }])

Creating service

angular
  .module('app')
  .service('FacebookService', ['$http','FacebookFactory',function($http,FacebookFactory) {
    var service = {
      me: me,
      auth: auth,
      logout: logout,
      disconnect: disconnect,
      share: share
    }
    return service
    function me(callback) {
      FacebookFactory.api('/me', {
        fields: 'name,email,gender,birthday'
      }, function(response) {
        callback(response)
      })
    }
    function auth(callback) {
      FacebookFactory.getLoginStatus(function(response) {
        if (response.status === 'connected') {
          callback(response)
        } else {
          FacebookFactory.login(function(response) {
            if (response.status === 'connected') {
              callback(response)
            }
          }, {
            scope: 'public_profile,email,user_birthday'
          })
        }
      })
    }
    function logout(callback) {
      FacebookFactory.logout(function(response) {
        callback(response)
      })
    }
    function disconnect(callback) {
      FacebookFactory.disconnect(function(response) {
        callback(response)
      })
    }
    function share(params, callback) {
      var obj = {
        method: 'share',
        mobile_iframe: true
      }
      FacebookFactory.ui(
        Object.assign(obj, params),
        function(response) {
          callback(response)
        }
      )
    }
  }])

Creating controller

angular
  .module('app')
  .controller('AuthController', ['$scope','FacebookFactory','FacebookService',function($scope,FacebookFactory,FacebookService) {
    $scope.getAuth = function(callback) {
      FacebookService.auth(function(response) {
        $scope.token = response.authResponse.accessToken // Get token
        FacebookService.me(function(response) {
          // Response handling
        })
      })
    }
    $scope.logout = function() {
      FacebookService.logout(function(response) {
        // Response handling
      })
    }
    $scope.disconnect = function() {
      FacebookService.disconnect(function(response) {
        // Response handling
      })
    }
    $scope.share = function() {
      FacebookService.share({
        href: 'http://guiseek.js.org/angular-facebook-factory',
        title: 'Angular Facebook Factory',
        description: 'Facebook factory for AngularJS 1.x'
      }, function(response) {
        // Response handling
      })
    }
  }])

Changelog

VersionDescription
1.1.0Support FB.ui to share and enhacement tasksSupports FB.ui for sharing and enhancements in npm tasks
1.0.2Method setLang on factory and better documentation

Developer

npm scripts

CommandDescription
npm startWatch and open live server
npm run watchConcat, babelify, minify and watch
npm run buildConcat, babelify and Minify

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial