Получить следующую страницу отчета через Google_Service_AnalyticsReporting_Report

я использую эту библиотеку https://github.com/google/google-api-php-client-services и эти примеры: https://developers.google.com/analytics/devguides/reporting/core/v4/samples?hl=ru

Это пример кода:

$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analyticsreporting->reports->batchGet( $body );

Проблема в том, что я не могу найти какие-либо методы или примеры для получения следующих страниц отчета.


person P.Shatalov    schedule 28.11.2016    source источник


Ответы (1)


Reporting API отличается от других API, любой стандартный код в клиентской библиотеке, который может реализовать это, не будет работать с ним. Из-за того, что создается клиентская библиотека, я не думаю, что вы обнаружите, что они создали метод специально для Reporting API.

В итоге я сам создал что-то для этого вручную с помощью С#. Вероятно, он не будет добавлен в стандартную клиентскую библиотеку Google .Net, потому что это будет специфично для одного API, а не для стандарта.

Советы:

По сути, я скопировал свой запрос, просто изменил NextPageToken и отправил его снова. Пока NextPageToken не вернет значение null.

Однако, если вы отправляете более одного отчета, обязательно отслеживайте каждый отчет и его ответ, а также возвращаемый им NextPageToken. Я работаю с командой API, чтобы добавить в ответ какой-то номер отчета, чтобы его можно было правильно сопоставить.

пример:

отправить три отчета:

  1. первый отчет содержит NextPageToken.
  2. второй отчет содержит null NextPageToken.
  3. третий отчет содержит NextPageToken.

при следующем звонке будет только два отчета, отчет один и отчет три. Таким образом, ваш код должен обрабатывать тот факт, что второй отчет теперь готов. На самом деле без какого-либо идентификатора в ответе, чтобы сказать вам, что это отчет один и три.

Извините, мой PHP слишком ржавый, я не могу помочь вам реализовать его на PHP, и я не знаю никого, кто делал это раньше.

person DaImTo    schedule 28.11.2016
comment
Спасибо! Нет необходимости в примере php, я просто сделаю, как вы сказали. Извините, я не могу проголосовать за ваш ответ, только пометить вопрос как решенный. Это новый аккаунт :С - person P.Shatalov; 28.11.2016
comment
Задайте другой вопрос, если у вас возникнут проблемы, я должен это заметить. Я могу читать PHP и помогать в его отладке. - person DaImTo; 28.11.2016