这是我想要做的:我试图在服务器端生成一个访问令牌,将用于验证用户,如在此示例中:权限错误谷歌分析API和VB.net
https://ga-dev-tools.appspot.com/embed-api/server-side-authorization/
我已经写在VB.net这段代码几次尝试后:
Public GA_Token As String
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim filename As String = {{path to p12 file}}
Dim serviceAccountEmail As String = {{service account generated email from IAM & Admin from console.developers.google.com of the form [email protected] name.iam.gserviceaccount.com}}
Dim certificate = New X509Certificate2(filename, "password", X509KeyStorageFlags.Exportable Or X509KeyStorageFlags.MachineKeySet Or X509KeyStorageFlags.PersistKeySet)
Dim Scopes As IEnumerable(Of String) = {AnalyticsService.Scope.AnalyticsReadonly}
Dim credential As New ServiceAccountCredential(New ServiceAccountCredential.Initializer(serviceAccountEmail) With {.Scopes = Scopes}.FromCertificate(certificate))
GA_Token = credential.GetAccessTokenForRequestAsync(Request.Url.ToString, CancellationToken.None).Result
End Sub
GA_Token然后写我创建的分析页面。
的问题是,当我去查看报告,我从Chrome中的403错误。 “{”error“:{”errors“:[{”domain“:”global“,”reason“:”insufficientPermissions“,”message“:”用户没有任何Google Analytics帐户。“)。 }],“code”:403,“message”:“用户没有任何Google Analytics帐户。”}}“headers:Objectcache-control:”private,max-age = 0“content-encoding:”gzip“content -length:“146”content-type:“application/json; charset = UTF-8”日期:“2016年11月18日星期五18:25:08 GMT”过期时间:“2016年11月18日星期五18:25:08 GMT “服务器:”GSE“各不相同:”Origin,X-Origin“www-authenticate:”Bearer realm =“https://accounts.google.com/”,error = insufficient_scope,scope =“https://www.googleapis .com/auth/analytics.edit“”proto:Object__defineGetter__:defineGetter()defineSetter:defineSetter()lookupGetter:lookupGetter()lookupSetter:lookupSetter()构造:对象()hasOwnProperty:hasOwnProperty()isPrototypeOf:isPrototypeOf()propertyIsEnumerable:propertyIsEnumerable()的toLocaleString:的toLocaleString()的toString:的toString()的valueOf:的valueOf()得到原:原()设定原:原()结果:Objecterror:目标代码:403errors:数组[1] 0:Objectlength:1__proto__:数组[0]消息:“用户没有任何Google Analytics帐户。” 原:Object__proto__:Objectstatus:403statusText:null__proto__:Object_.nH @ CB = gapi.loaded_0:606_.du.Vh @ CB = gapi.loaded_0:742(匿名功能)@视图-selector2.js:109h.o0 @ CB = gapi.loaded_0:75xs @ CB = gapi.loaded_0:78Wq @ CB = gapi.loaded_0:78_.C.uea @ CB = gapi.loaded_0:77Ap @ CB = gapi.loaded_0:71 CB = gapi.loaded_0: 67未捕获的对象{result:Object,body:“{”error“:{”errors“:[{”domain“:”global“,”reason“:”我...呃没有任何Google Analytics帐户。 “,headers:Object,status:403,statusText:null}(匿名函数)@ cb = gapi.loaded_0:67
现在,我可以使用OAuth2协议生成令牌并在用户登录时显示它在他/她的帐户中,但我试图绕过这一点。我遇到的问题是,我没有看到我应该为帐户设置权限。我进入了IAM和Admin,并在两个不同的服务帐户上启用了域范围委派以进行测试。我设置了每个可以想象的权限(对于所有者+ 18个其他权限)。还有哪些地方需要设置权限,还是我可以忽略某些内容?
Wow 16 upvotes,1 downvote ...这是我见过的最低! –
对不起,但我没有看到任何upvotes或downvotes。这是给我的吗? – SEFL