Angularjs 将google plus登录添加到ionic应用程序
我正在尝试将google plus登录添加到我的Angularjs 将google plus登录添加到ionic应用程序,angularjs,ionic-framework,cordova-plugins,Angularjs,Ionic Framework,Cordova Plugins,我正在尝试将google plus登录添加到我的爱奥尼亚应用程序。 跟随这个链接会给我一个错误 错误是:无法读取未定义的googleplus属性。 这是我的app.js: .run(function($ionicPlatform) { $ionicPlatform.ready(function() { if (window.cordova && window.cordova.plugins.Keyboard) { cordova.plugins.Keyb
爱奥尼亚应用程序
。
跟随这个链接会给我一个错误
错误是:无法读取未定义的googleplus属性。
这是我的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();
}
});
})
尝试将
添加到index.html文件中。
Cordova插件只能在模拟器或真实设备上运行。如果要在浏览器中测试,请尝试
归功于在设备(android)中配置身份验证的步骤
ionic启动新应用程序
爱奥尼亚平台添加android
cordova插件在应用浏览器中添加cordova插件
bower安装ngCordova
bower安装ng cordova oauth-S
index.html
中cordova.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>
1首先在应用程序中添加inappbrower 2为谷歌控制台创建应用程序id a:创建新项目 b:点击凭证 c:选择web应用程序 d:设置重定向路径 如果有,如果没有,则设置 e:点击创建按钮 然后会出现一个弹出窗口来保存这些id 然后添加以下代码 注意:请在代码中更改您的应用程序id和机密id
$scope.loginGoogle=function(){
var requestToken='';
var accessToken='';
var clientId='1018908884240-futc1bfc681kl2jegi3a7nn1m28aem1o.apps.googleusercontent.com';
var clientSecret='krqgdwullvaguuckm9olz7i';
var deferred=$q.deferred();
$cordovoauth.google(clientId,['email'])。然后(函数(结果){
$localStorage.accessToken=result.access\u令牌;
延迟解析(result.access\u令牌);
$http.get('https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token='+$localStorage.accessToken{
参数:{
格式:“json”
}
}).然后(函数(结果){
log(JSON.stringify(result));
var id=result.data.id;
延迟。解析(结果。数据);
},函数(错误){
拒绝({
消息:“获取您的个人资料时出现问题”,
答复:错误
});
});
},函数(错误){
拒绝({
消息:“登录时出现问题”,
答复:错误
});
});
}
你需要告诉我们你在哪里使用你的googleplus插件,而不是你的应用程序。jsI不确定ionic2,但这里有一些ionic 1和registerCtrl.googleSignIn=function()的示例工作({window.plugins.googleplus.login({},function)(用户数据){//在本例中,我将在本地存储UserService.setUser上存储用户数据({userID:user_data.userID,name:user_data.displayName,email:user_data.email,picture:user_data.imageUrl,accessToken:user_data.accessToken,idToken:user_data.idToken}},函数(msg){$ionicLoading.hide();};我在iphone 5s中收到一个错误无效请求…请求uri的参数值无效…我的javascript来源是,我的重定向uri是我有应用程序的客户端id..这是唯一的api密钥吗?可以从google凭据部分生成的Clien Auth api密钥。我没有得到你的步骤7hope u inject dependancy angular.module('starter'、['ionic'、['ngCordova'、'NgCordovoauth'])控制器('MyCtrl',函数($scope,$Cordovoauth,$q,$http){步骤7表示在angular应用程序中添加'ngCordova和NgCordovaWare'($scope,$cordovoauth,$q,$http){请找到这个,如果有什么问题请告诉我,我在iphone 5s中收到了一个错误无效的请求…请求uri的参数值无效…我的javascript源代码是,我的重定向uri是遵循的。本教程在andriod上运行良好,但在ios上运行不正常,无法从google api获取日期和性别
$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);
});
}