Как Google Ads API будет реагировать, если массив станет пустым? - PullRequest
1 голос
/ 08 июля 2019

Я работаю с Google Adwords API в Laravel, но я довольно новый, и мне нужна помощь, чтобы понять одну вещь в строке кода, где я получил вопрос, который использовал для этого поста.

строка выглядит следующим образом:

$campaign_ids = array_filter(Arr::pluck($campaigns, 'googleId')); 

Будучи частью этой функции:

public function reports(CampaignGroup $campaignGroup, string $dateFrom, string $dateTo, int $limit): array
    {
        $campaigns    = [];
        $campaigns    = array_merge($campaigns, $campaignGroup->campaigns->toArray());
        $campaign_ids = array_filter(Arr::pluck($campaigns, 'googleId'));

        $cacheKey = sprintf('keyword_performance_report.%d.%d', $this->account->id, $limit);
        $cacheTtl = DateInterval::createFromDateString($this->cacheTtl);

        $definitionAdapter = new KeywordsPerformanceDefinitionAdapter($campaign_ids);

        return Cache::remember($cacheKey, $cacheTtl, function () use ($definitionAdapter, $dateFrom, $dateTo, $campaign_ids, $limit) {
            $definitionAdapter->applyFilters($campaign_ids, $dateFrom, $dateTo, $limit);
            $definitionAdapter->getSelectorAdapter()->asSummary();

            $response = $this->generate();

            return $response['entries'];
        });
    }

Я хотел бы понять, что произойдет, если эта строка получит пустой массив, и Google получит его.Мне не удалось этого понять, и я хотел бы понять, какое исключение может быть выдвинуто здесь и что я должен сделать, чтобы избежать такой проблемы.

1 Ответ

0 голосов
/ 08 июля 2019

В целом, если вы передадите пустой массив $campaign_ids, я ожидаю, что будет возвращена статистика для всех ключевых слов, поскольку фильтрация по кампании не требуется.

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

Не можете ли вы просто протестировать сценарий и принять к сведению любые возникшие ошибки?

...