0
문제 설명403 금지 오류
내가 분석의 데이터를 가져 오기 위해 구글 분석 관리 API 2.4을 사용하고 있습니다. 는 어디에서 오류를
com.google.gdata.util.ServiceForbiddenException: Forbidden
<?xml version="1.0" encoding="UTF-8"?><errors xmlns="http://schemas.google.com/g/2005"><error><domain>GData</domain><code>insufficientPermissions</code><internalReason>User does not have permission to perform this operation</internalReason></error></errors>
atcom.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:605)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
at com.google.gdata.client.Service.getFeed(Service.java:1135)
at com.google.gdata.client.Service.getFeed(Service.java:1077)
at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:676)
at com.google.gdata.client.Service.getFeed(Service.java:1034)
at com.report.pojo.GoogleAnlytics2.printFirstAccount(GoogleAnlytics2.java:80)
at com.report.pojo.GoogleAnlytics2.main(GoogleAnlytics2.java:91)
을 다음 얻고 내 문제 (link1, link2 및 link3)에 관한 나는 일부 Google 그룹 토론 페이지를 가지고
public static DataQuery getBasicQuery(String tableId) throws MalformedURLException {
DataQuery query = new DataQuery(new URL(DATA_URL));
query.setIds(tableId);
query.setStartDate("2011-07-12");
query.setEndDate("2012-07-15");
query.setDimensions("ga:hour");
query.setMetrics("ga:visits,ga:bounces");
query.setStringCustomParameter("key",API_KEY);
return query;
}
public static void printData(String title, DataFeed dataFeed) {
System.out.println(title);
System.out.println(dataFeed.getEntries().size());
for (DataEntry entry : dataFeed.getEntries()) {
System.out.println("\tHour: " + entry.stringValueOf("ga:hour"));
System.out.println("\t\tVisits: " + entry.stringValueOf("ga:visits"));
System.out.println("\t\tBounces: " + entry.stringValueOf("ga:bounces"));
System.out.println("\t\tBounce rate: "+ entry.longValueOf("ga:bounces")/(double) entry.longValueOf("ga:visits"));
}
System.out.println();
}
BASE_URL="https://www.googleapis.com/analytics/v2.4/management/"
DATA_URL="https://www.googleapis.com/analytics/v2.4/data"
다음 코드를 사용하고 그러나 나는 할 수 없었다 해결책을 얻으십시오.
이 문제를 어떻게 해결할 수 있습니까?
을 및 분석 서비스이 사용자에 대한 켜져 있는지 확인 : 당신은 아직이 작업을 수행하지 않은 경우
ON으로, https://code.google.com/apis/console/에서 다음 설정 상태를 로그인 v2.3에서 v2.3으로 마이 코드를 마이 그 레이션하는 동안 403으로 이전 중 기존 사용자 계정을 사용하고 있어도 기존 계정을 사용하는 것이 좋거나 새로운 계정을 만들어야합니다. –
지난 주에 404 오류가 발생했습니다. 파이썬 라이브러리를 사용하고있었습니다. 업그레이드가 3 부분이었습니다. 1) 라이브러리 코드, 특히 URL을 업그레이드합니다 (https://www.google.com/analytics/feeds/data를 새 v2.4 URL로 대체). 2) 간단한 API 액세스 키를 사용하도록 라이브러리 인증 코드를 업데이트하십시오 (Google API 콘솔의 API 액세스 탭에서도 사용 가능). 3) 서비스 탭에서 애널리틱스 API를 사용하도록 설정합니다. 이 3 단계로 나를 다시 사업에 몰아 넣었습니다. 단계 1과 3을 완료 한 것처럼 들립니다. 2 단계? – klenwell
답장을 보내 주셔서 감사합니다. 실제로 데이터 URL을 https://www.googleapis.com/analytics/v2.4/data로 변경하고 계정 URL을 https://www.googleapis.com/analytics/v2.4로 변경했습니다./management/accounts? max-results = 1 그리고 DataQuery 쿼리 = 새 DataQuery (새 URL (DATA_URL))로 키를 설정하고 있습니다. query.setStringCustomParameter ("key", API_KEY); 내 코드는 계정 ID, 계정 이름과 같은 계정 정보를 표시하지만 코드에 대한 예외는 발생하지 않습니다. DataFeed basicData = myService.getFeed (basicQuery, DataFeed.class); –