ng-facebook
Version:
Angular service to handle facebook api
50 lines (47 loc) • 1.48 kB
JavaScript
/*
* Authored by AlmogBaku
* almog.baku@gmail.com
* http://www.almogbaku.com/
*
* 27/12/14 21:01
*/
angular.module('myApp', ['ngFacebook'])
.config(['$facebookProvider', function($facebookProvider) {
$facebookProvider.setAppId('764262530321266').setPermissions(['email','user_friends']);
}])
.run(['$rootScope', '$window', function($rootScope, $window) {
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
$rootScope.$on('fb.load', function() {
$window.dispatchEvent(new Event('fb.load'));
});
}])
.controller('myCtrl', ['$scope', '$facebook', function($scope, $facebook) {
$scope.$on('fb.auth.authResponseChange', function() {
$scope.status = $facebook.isConnected();
if($scope.status) {
$facebook.api('/me').then(function(user) {
$scope.user = user;
});
}
});
$scope.loginToggle = function() {
if($scope.status) {
$facebook.logout();
} else {
$facebook.login();
}
};
$scope.getFriends = function() {
if(!$scope.status) return;
$facebook.cachedApi('/me/friends').then(function(friends) {
$scope.friends = friends.data;
});
}
}])
;