Google analytics Google Analytics API抛出500内部服务器错误(服务帐户)和证书
我正在使用谷歌分析API获取数据。我正在获取过去1年的数据,没有任何问题。但是,从昨天开始,服务器上的API调用出现以下错误:-Google analytics Google Analytics API抛出500内部服务器错误(服务帐户)和证书,google-analytics,google-api,google-analytics-api,Google Analytics,Google Api,Google Analytics Api,我正在使用谷歌分析API获取数据。我正在获取过去1年的数据,没有任何问题。但是,从昨天开始,服务器上的API调用出现以下错误:- Google.GoogleApiRequestException: Google.Apis.Requests.RequestError Backend Error [500] Errors [Message[Backend Error] Location[ - ] Reason[backendError] Domain[global] ] ---> System
Google.GoogleApiRequestException: Google.Apis.Requests.RequestError Backend Error [500] Errors [Message[Backend Error] Location[ - ] Reason[backendError] Domain[global] ] ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
另一件值得注意的事情是,当我调用API时,在生产服务器上不断出现上述错误。那一次,我用相同的代码和证书尝试了来自本地机器/后台机器的相同API调用,每次都运行良好
意味着现在我可以在本地和后台使用相同的代码和服务帐户获取所有数据
请查找以下代码:
private static GaData executeDataQueryForCustomDimension(Analytics analytics, String profileId,Map reqMap) {
GaData gaData = new GaData();
String startDate = (String) reqMap.get("fromDate");
String toDate = (String) reqMap.get("toDate");
try {
gaData = analytics.data().ga().get("ga:" + profileId, // Table Id.
startDate, // Start date.2015-01-01
toDate, // End date.2015-07-07
"ga:visits") // Metrics.
.setDimensions("ga:pagePath")
.setMetrics("ga:timeOnPage")
.setFilters("ga:pagePath!~^/[-a-zA-Z0-9]+/[-a-zA-Z0-9]+/;ga:pagePath!@login;ga:pagePath!@admin;ga:pagePath!@.com;ga:pagePath!@p_p_id;ga:pagePath!@?;ga:pagePath!@blog;ga:pagePath!@add-review;ga:pagePath!@.html;ga:pagePath!@manufacturer/;ga:pagePath!@product-evaluations;ga:pagePath!@product;ga:pagePath!@request-more-info;ga:pagePath!@video/;ga:pagePath!@categories/")
.setStartIndex(1)
.setMaxResults(40000)
.execute();
} catch (Exception e) {
e.printStackTrace();
logger.error("Error getting data",e.getMessage());
}
return gaData;
}
我还尝试了指数退避(延迟)来调用服务器上的API。但是,这只能帮我打5到10个电话。但在那之后,我又犯了同样的错误每次在我的本地机器/舞台上都是一样的
我在谷歌提供的分析仪表板上得到了点击,但每次我从生产部打电话时都会出现错误
请告诉我是否有人对这个问题有想法以及如何解决这个问题
使用以下版本的API
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-analytics</artifactId>
<version>v3-rev116-1.19.1</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-gson</artifactId>
<version>1.20.0</version>
</dependency>
com.google.api
谷歌api服务分析
v3-rev116-1.19.1
com.google.http-client
谷歌http客户端gson
1.20.0
我是发起呼叫的人。因此,在测试时,没有以秒为单位的最大呼叫,因为我每秒大约打一个服务器。GaData??您使用的是哪一版本的API?在google开发者控制台上检查您的项目,查看您的每秒请求速率设置为最大值是10,我认为除非您使用的是v4,否则您的最大值似乎更高。更新了问题。请检查。请注意,相同的代码在后台和本地工作。使用V3最多可以请求10个请求,您正在尝试快速执行。您正在使用指数后退,您无能为力。请尝试缩短日期范围。然后查看是否仍然出现
5XX
错误。最好是发出10个高效完成的请求,而不是发出一个超时的请求,因为只允许您使用相同的代码、相同的凭证、相同的证书在后台和本地工作