首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取错误unsupported_response_type

获取错误unsupported_response_type
EN

Stack Overflow用户
提问于 2015-06-01 19:22:35
回答 1查看 528关注 0票数 1

我正在与谷歌功能与$cordovaOauth.google插件登录工作。但是我得到了unsupported_response_type错误。

代码语言:javascript
运行
复制
$cordovaOauth.google("MY_APP_ID", ["https://www.googleapis.com/auth/urlshortener", "https://www.googleapis.com/auth/userinfo.email"]).then(function (result) {
                console.log(JSON.stringify(result));
                alert(JSON.stringify(result));
                $scope.gdata = result;

            }, function (error) {
                console.log(error);
            });

我犯错了!?

EN

回答 1

Stack Overflow用户

发布于 2015-12-02 12:21:33

是的,因为$cordovaOauth插件加载网页视图,所以你必须从谷歌应用程序接口网页clientID。这对ionic (移动应用)不起作用,所以你需要做以下事情。

First

您需要使用应用程序的方案来提供内部URL,如google://twitter://

参考: http://mcgivery.com/using-custom-url-schemes-ionic-framework-app/

并在Google重定向URL中提供自定义url (这并不总是有效的,因为Google不接受自定义URL,但您可以尝试一下)。

的第二个和可行的解决方案:

您需要使用您的应用程序标识符和keytool创建Google应用程序。

适用于安卓的 :

https://developers.google.com/identity/sign-in/android/start遵循第二步,并提供您的应用程序名称和唯一标识符(即dipesh.cool.com )

iOS的 :

https://developers.google.com/mobile/add?platform=ios&cntapi=signin

与android中提到的信息相同。

然后,您需要从配置文件中获取REVERSED_CLIENT_ID值,完成上述两个步骤后,即可下载该配置文件(您可以从iOS配置文件中获取该值,该文件很容易找到)。

然后简单地运行下面的命令和代码,你就会得到所有的工作。

命令:

代码语言:javascript
运行
复制
cordova plugin add cordova-plugin-googleplus --variable REVERSED_CLIENT_ID=GRAB_THIS_FROM_IOS_OR_ANDROID_CONFIG_FILE

角度代码:

代码语言:javascript
运行
复制
$scope.GoogleLogin = function()
{
    $scope.loaderShow('Google');
    window.plugins.googleplus.login({},function (obj)
    {
        window.localStorage.setItem('signin', 'Google');
        window.localStorage.setItem('g_uid', obj.userId);
        window.localStorage.setItem('g_fname', obj.givenName);
        window.localStorage.setItem('g_lname', obj.familyName);
        window.localStorage.setItem('user_full_name', obj.displayName);
        window.localStorage.setItem('g_email', obj.email);
        window.localStorage.setItem('gotPdetails', 'false');
        $scope.loaderHide();
        $state.go('app.dashboard');
    },
    function (msg)
    {
        $scope.showAlert('Google signin Error<br/>'+msg);
        $scope.loaderHide();
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30572219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档