API-интерфейсы Bing Ads возвращают данные только по первому ключевому слову в моем запросе.

Я ищу, чтобы получить CPC и другие данные для большого набора данных ключевых слов. Однако, когда я отправляю запрос в API, я получаю данные только по первому ключевому слову в Keywords массив. Вы заметите из второго изображения ниже, что EstimatedBids Объект данных для слов доставки, пиццы, страховки и юриста не имеет значения. Если я, скажем, поставлю ключевое слово «юрист» первым в массиве, я получу данные для юриста и ничего для остальных.

Мой код:

$keywords = array('flowers', 'delivery', 'pizza', 'insurance', 'lawyer'); // example array for this question
$proxy = ClientProxy::ConstructWithAccountAndCustomerId($wsdl, null, null, $DeveloperToken, $AccountId, $CustomerId, $AccessToken); //no $UserName & $Password

$matchTypes = array (MatchType::Exact);
$keywordAndMatchTypes = array();
foreach ($keywords as $keyword) {
$keywordAndMatchType = new KeywordAndMatchType();
$keywordAndMatchType->KeywordText = $keyword;
$keywordAndMatchType->MatchTypes = $matchTypes;
array_push($keywordAndMatchTypes, $keywordAndMatchType);
}

$request_cpc = new GetEstimatedBidByKeywordsRequest();
$request_cpc->Keywords = $keywordAndMatchTypes;

$response_cpc = $proxy->GetService()->GetEstimatedBidByKeywords($request_cpc)->KeywordEstimatedBids;

Мой запрос:

Запрос API Bing Ads

Мой ответ:

Ответ API Bing Ads

Что нужно изменить, чтобы я мог получить эти данные для всех ключевых слов? Заранее благодарю за любую помощь.

1

Решение

Для любого будущего Google, я решил свою проблему, создав $matchTypes массив в foreach петля. Другими словами, я изменил этот старый код:

$matchTypes = array (MatchType::Exact);
$keywordAndMatchTypes = array();
foreach ($keywords as $keyword) {
$keywordAndMatchType = new KeywordAndMatchType();
$keywordAndMatchType->KeywordText = $keyword;
$keywordAndMatchType->MatchTypes = $matchTypes;
array_push($keywordAndMatchTypes, $keywordAndMatchType);
}

В этот новый код:

$keywordAndMatchTypes = array();
foreach ($keywords as $keyword) {
$keywordAndMatchType = new KeywordAndMatchType();
$matchTypes = array (MatchType::Exact);
$keywordAndMatchType->KeywordText = $keyword;
$keywordAndMatchType->MatchTypes = $matchTypes;
array_push($keywordAndMatchTypes, $keywordAndMatchType);
}

По какой-то причине $matchTypes массив должен быть создан каждый раз.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]