-1

Я обнаружил эту ошибку при выгрузке статистики из аналитики в качестве источника.com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Запрещенное исключение

Может ли кто-нибудь сказать, что может быть этим .. ??

public Get getAnalyticsReportDefination() { 
    String month = ((fromCal.get(Calendar.MONTH) + 1) < 10 ? "0" + (fromCal.get(Calendar.MONTH) + 1) : "" + (fromCal.get(Calendar.MONTH) + 1)); 
    String date = (fromCal.get(Calendar.DATE) < 10 ? "0" + fromCal.get(Calendar.DATE) : "" + fromCal.get(Calendar.DATE)); 
    String toMonth = ((toCal.get(Calendar.MONTH) + 1) < 10 ? "0" + (toCal.get(Calendar.MONTH) + 1) : "" + (toCal.get(Calendar.MONTH) + 1)); 
    String toDate = (toCal.get(Calendar.DATE) < 10 ? "0" + toCal.get(Calendar.DATE) : "" + toCal.get(Calendar.DATE)); 
    String TimeStamp1 = fromCal.get(Calendar.YEAR) + "-" + month + "-" + date; 
    String TimeStamp2 = toCal.get(Calendar.YEAR) + "-" + toMonth + "-" + toDate; 
    log.info("Google Analytics Stats for date range " +TimeStamp1 + " to " +TimeStamp2); 
    String accessToken = gleTokenInf.getAccessToken(); 
    String refreshToken = gleTokenInf.getRefreshToken(); 
    Analytics analytics = null; 
    NetHttpTransport netHttpTransport = new NetHttpTransport(); 

    if (accessToken != null && refreshToken != null) { 
     JacksonFactory jacksonFactory = new JacksonFactory(); 
     GoogleCredential credential =new GoogleCredential.Builder().setTransport(netHttpTransport) 
               .setJsonFactory(jacksonFactory).setClientSecrets(CLIENT_ID, CLIENT_SECRET).build(); 
          credential.setAccessToken(accessToken); 
          credential.setRefreshToken(refreshToken); 
     analytics=new Analytics.Builder(netHttpTransport, jacksonFactory, credential).setApplicationName(APPLICATION_NAME).build(); 
     try { 
      //AT a time we can get only 7 dimensions and 10 metrics 
      apiQuery = analytics.data().ga().get("ga:" + gleTokenInf.getProfileId(), TimeStamp1, TimeStamp2,getMetrics()); 
      apiQuery.setDimensions(getDimensions()); 
      StringBuilder source = new StringBuilder(); 
      int len = FilterConditions.length; 
      for (int i = 0; i < len; i++) { 
        source.append(FilterConditions[i]).append(filterExpression).append(FilterValues[i]).append(FilterType); 
       } 
      apiQuery.setFilters(source.substring(0, source.length() - 1)); 
      gaData = apiQuery.execute(); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 
    return apiQuery; 
} 

Ошибка:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden 
{ 
    "code" : 403, 
    "errors" : [ { 
    "domain" : "usageLimits", 
    "message" : "Daily Limit Exceeded. The quota will be reset at midnight Pacific Time (PT). You may monitor your quota usage and adjust limits in the API Console: https://console.developers.google.com/apis/api/analytics/quotas?project=433676821622", 
    "reason" : "dailyLimitExceeded", 
    "extendedHelp" : "https://console.developers.google.com/apis/api/analytics/quotas?project=433676821622" 
    } ], 
    "message" : "Daily Limit Exceeded. The quota will be reset at midnight Pacific Time (PT). You may monitor your quota usage and adjust limits in the API Console 
} 

---------- 

metrics: ga:transactions,ga:transactionRevenue,ga:itemRevenue,ga:transactionShipping,ga:transactionTax 

dimensions: ga:campaign,ga:adGroup 

Спасибо заранее.

+0

Какая часть _ «Суточный предел превышена» _ неясен? –

+0

Редактирование не помогает. Ошибка говорит вам, что вы превысили количество запросов в день, которые вам разрешено выполнять. –

+0

Тогда каково могло быть решение. – Sanju

ответ

0

Есть несколько квот, о которых вам следует знать при использовании API Google Analytics.

Первое ваше приложение может сделать запрос max 50000 в день. Во-вторых, каждое представление, к которому вы пытаетесь получить доступ, может сделать максимум 10000 запросов в день.

Суточный предел превышен. Квота будут сброшены в полночь по тихоокеанскому времени (PT)

Означает, что вы превысили одну из этих квот. Самый простой способ выяснить, какой из них - попытаться сделать запрос, используя другое представление. если он работает, то вы знаете, что вы сбивали квоту на первом взгляде. Если это не означает, что вы нарушили квоту в своем проекте. Которая когда-либо квота это вы сдули, вы не сможете получить доступ к API снова от этого, пока спуск квоты в середине ночи на запад не будет стоить США.

Вы можете запросить расширение 50000 запросов на проект. Через консоль разработчика Google, где вы включили аналитику api и в разделе квоты. Требуется около месяца, чтобы получить расширение, поэтому его лучше всего применять, когда вы используете 80% своей квоты каждый день.

Вы не можете запросить расширение 10000 запросов в день.

+0

Спасибо, DalmTo. – Sanju