使用有效的Google Analytics(分析)帐户验证用户身份的问题

时间:2013-09-02 10:32:42

标签: omniauth

我正在使用omniauth-google-oauth2来验证谷歌和谷歌应用帐户。在我的应用程序中,用户使用他们的谷歌帐户登录以查看他们的谷歌分析数据。 当用户使用有效的GA帐户正确登录时,Authenticaton可以正常完成,但当帐户未在Google Analytics中注册时会出现错误

{
    "errors" = > [{
        "domain" = > "global", "reason" = > "insufficientPermissions", "message" = > "User does not have any Google Analytics account."
    }], "code" = > 403, "message" = > "User does not have any Google Analytics account."
}:

不知道如何处理此问题,并通过提供“帐户未在GA注册”的错误消息将用户重定向回登录页面

1 个答案:

答案 0 :(得分:0)

你的omniauth范围是什么?我的猜测是你的范围内有东西。

如果您在omniauth.rb(或您正在使用的任何初始化程序文件)中将设置更改为以下默认设置:

provider :google_oauth2, "yourappid", "yourkey"

然后问题可能会消失。如果是这样,那么这里发生的是你没有要求足够的许可。默认情况下,scope =“userinfo.email,userinfo.profile”。如果您需要其他权限,例如“somepermission”。然后而不是使用以下

provider :google_oauth2, "yourappid", "yourkey", :scope => "somepermission"

你应该使用

provider :google_oauth2, "yourappid", "yourkey", :scope => "userinfo.email,userinfo.profile,somepermission"

否则它不会为您提供omniauth工作所需的电子邮件/个人资料。