问题
I am trying to add google plus login to my ionic app.
Following this link gives me an error.
https://ionicthemes.com/tutorials/about/google-plus-login-with-ionic-framework
Error is : cannot read property googleplus of undefined.
Here is my app.js:
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
回答1:
Steps to Configure authentication in Device(android)
ionic start newAppionic platform add androidcordova plugin add cordova-plugin-inappbrowserbower install ngCordovabower install ng-cordova-oauth -Sinclude both script into
index.htmlabovecordova.js<script src="lib/ngCordova/dist/ng-cordova.min.js"></script> <script src="lib/ng-cordova-oauth/dist/ng-cordova-oauth.js"></script> <script src="cordova.js"></script>Dependency injection
include below code
$scope.googleLogin = function() { console.log('In My Method'); $cordovaOauth.google("Client ID", ["https://www.googleapis.com/auth/urlshortener", "https://www.googleapis.com/auth/userinfo.email"]).then(function(result) { console.log(JSON.stringify(result)); // results }, function(error) { // error console.log('In Error'); console.log(error); }); }add button to view file and call the function
回答2:
1 first add inappbrower in your app
2 create app id for google console https://console.developers.google.com
a: create new project
b: click on Credentials
c: choose web application
d: set redirect path if u have if not than set http://localhost/callback
e: click on create button than a pop up appear save those id after that add following code
NOTE:Please change your app id and secret id in code
$scope.loginGoogle = function() {
var requestToken = '';
var accessToken = '';
var clientId = '1018908884240-futc1bfc681kl2jegi3a7nn1m28aem1o.apps.googleusercontent.com';
var clientSecret = 'KRQGDwu_llvagUucKM9oLZ7I';
var deferred = $q.defer();
$cordovaOauth.google(clientId, ['email']).then(function(result) {
$localStorage.accessToken = result.access_token;
deferred.resolve(result.access_token);
$http.get('https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=' + $localStorage.accessToken, {
params: {
format: 'json'
}
}).then(function(result) {
console.log(JSON.stringify(result));
var id =result.data.id;
deferred.resolve(result.data);
}, function(error) {
deferred.reject({
message: 'here was a problem getting your profile',
response: error
});
});
}, function(error) {
deferred.reject({
message: 'There was a problem signing in',
response: error
});
});
}
回答3:
Try to add <script src="cordova.js"></script> to your index.html file.
And Cordova plugins only runs on emulators or real devices. try Ripple Emulator if you want to test it in a browser.
Credit to Cordova plugins not working with ionic
来源:https://stackoverflow.com/questions/37523038/adding-google-plus-login-to-ionic-app