Skip to content

Instantly share code, notes, and snippets.

@jcaromiq
Last active December 14, 2015 20:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcaromiq/5142305 to your computer and use it in GitHub Desktop.
Save jcaromiq/5142305 to your computer and use it in GitHub Desktop.
'use strict';
/* Controllers */
function LoginCtrl($scope) {
var parameters = {"scope":"https://www.googleapis.com/auth/plus.login",
"requestvisibleactions": 'http://schemas.google.com/AddActivity',
"clientId":"xxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"theme":"dark",
"callback":function(authResult) {$scope.onSignInCallback(authResult)},
"cookiepolicy":"single_host_origin"};
gapi.signin.render('gButton',parameters);
$scope.onSignInCallback = function(authResult) {
gapi.client.load('plus','v1', function(){
if (authResult['access_token']) {
$('#gButton').hide();
$('#authOps').show();
var request = gapi.client.plus.people.get( {'userId' : 'me'} );
request.execute( function(profile) {
$scope.profile = profile;
$scope.$apply();
});
}
});
};
$scope.logout = function() {
$.ajax({
type: 'GET',
url: 'https://accounts.google.com/o/oauth2/revoke?token=' + gapi.auth.getToken().access_token,
async: false,
contentType: 'application/json',
dataType: 'jsonp',
success: function(result) {
$('#authOps').hide();
$('#lstActivities').empty();
$('#gButton').show();
},
error: function(e) {
console.log(e);
}
});
};
$scope.loadTimeLine = function() {
var request = gapi.client.plus.activities.list({'userId' : 'me'});
request.execute( function(activities) {
$scope.activities = activities.result.items;
$scope.$apply();
});
};
};
<!doctype html>
<html lang="en" ng-app>
<head>
<meta charset="utf-8">
<title>My AngularJS App</title>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" ></script>
<script src="https://plus.google.com/js/client:plusone.js"></script>
<script src="lib/angular/angular.js"></script>
<script src="js/controllers.js"></script>
<div ng-controller="LoginCtrl">
<div id="gConnect">
<div id="gButton"/>
</div>
<div id="authOps" style="display:none">
<button ng-click="logout()">Desconectar</button>
<h2>Perfil del usuario</h2>
<div>
<img ng-src={{profile.image.url}} />
<p>{{ profile.displayName }}</p>
</div>
<div>
<button ng-click="loadTimeLine()">Cargar TimeLine</button>
<ul id="lstActivities">
<li ng-repeat="activity in activities">
<span>{{activity.title}}</span>
</ul>
</div>
</div>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment