【发布时间】:2015-04-10 16:31:07
【问题描述】:
我正在尝试访问谷歌分析数据,而无需用户与浏览器交互来授权此访问——在这种情况下,我们希望在谷歌分析之外显示我们自己的数据。
Google 在此处描述服务帐户:https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtAuthorization
我认为根据描述,这就是我正在寻找的。需要按照步骤获取以下代码中用到的东西:
GoogleCredential credential = new
GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("758873802454- s8o6hgkjjn8rm15so46pvrqu1lgn4squ@developer.gserviceaccount.com")
.setServiceAccountScopes(Collections.singleton(AnalyticsScopes.ANALYTICS_READONLY))
.setServiceAccountPrivateKeyFromP12File(new File("C:\\Users\\jeff.miller\\Downloads\\67ed856e6b6b55e846f53e78e76b28141c98eeff-privatekey.p12"))
.setServiceAccountUser("758873802454-s8o6hgkjjn8rm15so46pvrqu1lgn4squ.apps.googleusercontent.com")
//.setService("AIzaSyCM1FlW4fs38NPSOesXULeSnBlpYd783Xk")
.build();
下载了 p12 文件,我们还获得了一个新的服务帐户,其中包含客户端 ID 和电子邮件地址,我认为我将其放在上面构造函数代码中的正确位置。此外,还需要从 Google 控制台进行配置。我收到了各种错误消息,最近是:“无效的模拟 prn 电子邮件地址”,但我也收到了 无论我尝试什么,都显示该帐户没有权限的消息。
代码基于过时的示例——例如,在示例中 setServiceAccountScopes 采用字符串而不是单例。
如果能找到一个最新的 Java 示例(包括有关控制台中的配置提示),那就太好了,它使我能够在不与浏览器交互的情况下访问 Google Analytics。
谢谢。
【问题讨论】:
标签: google-analytics authorization