Я пытаюсь получить отчет от AdExchange Seller API. Я использую максимально допустимое количество измерений и показателей, поэтому отчеты довольно большие (> 100 000 строк). Согласно documentation on large reports это возможно с использованием функции ограничения предела, добавив параметр alt=media
. Но я не могу понять, как добавить этот параметр, используя Google API client for PHP. Я бы предпочел придерживаться официальных библиотек Google, но я открыт для предложений.Добавить параметр `alt` при создании отчетов от API-интерфейса продавца AdExchange
Примечание: добавление alt=csv
или alt=media
к optParams
не работает, и я могу легко получить доступ к данным, если удалю некоторые из измерений и показателей.
Более конкретно, я использую ресурс accounts_reports
, а затем метод generate
. Если посмотреть на исходный код (показано ниже), я не вижу нигде, что он сможет принять параметр alt
, но я, очевидно, что-то пропустил.
$this->accounts_reports = new Google_Service_AdExchangeSeller_Resource_AccountsReports(
$this,
$this->serviceName,
'reports',
array(
'methods' => array(
'generate' => array(
'path' => 'accounts/{accountId}/reports',
'httpMethod' => 'GET',
'parameters' => array(
'accountId' => array(
'location' => 'path',
'type' => 'string',
'required' => true,
),
'startDate' => array(
'location' => 'query',
'type' => 'string',
'required' => true,
),
'endDate' => array(
'location' => 'query',
'type' => 'string',
'required' => true,
),
'dimension' => array(
'location' => 'query',
'type' => 'string',
'repeated' => true,
),
'filter' => array(
'location' => 'query',
'type' => 'string',
'repeated' => true,
),
'locale' => array(
'location' => 'query',
'type' => 'string',
),
'maxResults' => array(
'location' => 'query',
'type' => 'integer',
),
'metric' => array(
'location' => 'query',
'type' => 'string',
'repeated' => true,
),
'sort' => array(
'location' => 'query',
'type' => 'string',
'repeated' => true,
),
'startIndex' => array(
'location' => 'query',
'type' => 'integer',
),
),
),
)
)
);
Копаем дальше я нашел это заявление в Google_Service_AdExchangeSeller_Resource_AccountsReports
классе.
Сгенерировать отчет Ad Exchange на основе запроса отчета, отправленного в запросе параметров. Возвращает результат как JSON; для получения вывода в формате CSV в качестве параметра запроса укажите «alt = csv». (reports.generate)
Но как именно это будет работать? Насколько я могу судить, это не так.
Спасибо за ответ! Я рад, что кто-то может подтвердить мое здравомыслие. Я действительно пытался изменить код клиентской библиотеки, но я не тратил слишком много времени на попытки. Я могу попробовать снова в ближайшее время.Однако я понял, что добавление параметра alt = media фактически вернет файл csv gzipped, как указано в документации. Поэтому я буду использовать это решение на данный момент. Спасибо за ответ. Я буду отмечать, что ты прав. –