Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将google plus登录添加到ionic应用程序_Angularjs_Ionic Framework_Cordova Plugins - Fatal编程技术网

Angularjs 将google plus登录添加到ionic应用程序

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

我正在尝试将google plus登录添加到我的
爱奥尼亚应用程序
。 跟随这个链接会给我一个错误

错误是:
无法读取未定义的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);
    });
    }