#java #google-api #google-analytics-api #google-api-java-client #quota
#java #google-api #google-analytics-api #google-api-java-client #квота
Вопрос:
Я пытаюсь извлечь некоторые данные измерений и метрик из API Google Analytics, используя клиентскую библиотеку Java.
Для определенного ViewID я вижу, что я не могу извлечь данные более чем за 14 месяцев и 2 дня, начиная с сегодняшнего дня. Я столкнулся с этой проблемой только с клиентской библиотекой Java и API и для некоторых конкретных представлений. В интерфейсе Google я могу видеть все отчеты без ограничений по 14 месяцам.
Этот Java-код :
DateRange dateRange = new DateRange().setStartDate(startDate).setEndDate(endDate);
DimensionFilter dimensionFilter = new DimensionFilter();
dimensionFilter.setDimensionName("ga:medium");
dimensionFilter.setOperator("EXACT");
dimensionFilter.setExpressions(Collections.singletonList("organic"));
DimensionFilterClause dimensionFilterClause = new DimensionFilterClause();
dimensionFilterClause.setFilters(Collections.singletonList(dimensionFilter));
MetricFilter metricFilter = new MetricFilter();
metricFilter.setMetricName("ga:sessions");
metricFilter.setNot(true);
metricFilter.setComparisonValue("0");
MetricFilterClause metricFilterClause = new MetricFilterClause();
metricFilterClause.setFilters(Collections.singletonList(metricFilter));
ReportRequest reportRequest = new ReportRequest()
.setViewId(viewID)
.setDateRanges(Collections.singletonList(dateRange))
.setSamplingLevel(samplinglevel.name())
.setPageSize(100000)
.setDimensionFilterClauses(Collections.singletonList(dimensionFilterClause))
.setMetricFilterClauses(Collections.singletonList(metricFilterClause))
.setDimensions(dimensionList)
.setMetrics(metricList)
.setIncludeEmptyRows(false);
Я могу нормально извлекать все остальные представления без ограничения, но для конкретного клиента a обнаружил эту проблему.
Есть ли у вас какие-либо представления об этой проблеме с ограничениями?
Я не могу найти никакой информации об этих ограничениях в Java.
Комментарии:
1. Какое сообщение об ошибке вы получаете?
2. @DaImTo ошибки нет.. Я нашел 0 строк
3. Если вы не получаете ошибку, значит, для этого запроса нет данных. Возможно, это представление не было создано в то время или запрашиваемые вами данные не существуют.
4. @DaImTo но я получаю данные, когда меняю диапазон данных на что-то за последние 14 месяцев
5. тогда рассматриваемое представление было активным только в течение последних 14 месяцев
Ответ №1:
Проблема с квотой
для API Google Analytics существует ряд квот. Ограничения и квоты
Общие ограничения квот
- 50 000 запросов на проект в день, которые могут быть увеличены.
- 10 запросов в секунду (QPS) на IP-адрес. В консоли API существует аналогичная квота, называемая запросами на 100 секунд для каждого пользователя. По умолчанию для каждого пользователя установлено значение 100 запросов в 100 секунд, и его можно настроить на максимальное значение 1000. Но количество запросов к API ограничено максимум 10 запросами в секунду на пользователя.
- Если ваше приложение выполняет все запросы API с одного IP-адреса (т. Е. от имени ваших пользователей), используйте параметр userIp или quotaUser с каждым запросом, чтобы получить полную квоту QPS для каждого пользователя. Подробности см. в сводке стандартных параметров запроса.
API отчетов
Следующие квоты применяются ко всем API отчетов, включая Core Reporting API v3, Analytics Reporting API v4, Real Time API v3 и Multi-channel Funnel API v3:
- 10 000 запросов на просмотр (профиль) в день (не может быть увеличено)
- 10 одновременных запросов на просмотр (профиль) (не может быть увеличено)
Мне сложно определить, какую квоту вы используете, поскольку вы не опубликовали сообщение. Однако, если вы говорите, что это единственное представление, тогда я бы предположил, что это 10000 запросов на квоту данных и что в этом представлении должно быть больше данных, чем в других ваших представлениях. Вы ничего не можете сделать, чтобы расширить эту квоту. Вы можете настроить свои запросы только таким образом, чтобы делать меньше запросов.
Примечание: google не использует тот же идентификатор клиента, что и вы, поэтому они не связаны ограничениями, что и ваш клиент. Если ваш клиент исчерпал квоту, то он не будет работать. Это не повлияет на веб-сайт Google Analytics.
НЕТ ДАННЫХ
Если запрос возвращает нулевые строки, то это не проблема с квотой, просто нет данных для запрашиваемых вами дат и метаданных.
Я подозреваю, что проблема со всеми этими фильтрами, которые вы используете.
Запустите запрос, используя только измерение ga: date и показатель ga: sessions. Не добавляйте свои фильтры. Запустите его для 2010-01-01 — 2019-01-01 это должно помочь вам выяснить, с чего началась запись данных или возникла проблема со всеми добавленными вами фильтрами.