/**
* @param AdWordsServices $adWordsServices
* @param AdWordsSession $session
*/
public static function runExample(AdWordsServices $adWordsServices,
AdWordsSession $session)
{
$targetingIdeaService =
$adWordsServices->get($session, TargetingIdeaService::class);
// Create selector.
$selector = new TargetingIdeaSelector();
$selector->setRequestType(RequestType::STATS);
$selector->setIdeaType(IdeaType::KEYWORD);
$selector->setRequestedAttributeTypes([
AttributeType::KEYWORD_TEXT,
AttributeType::SEARCH_VOLUME,
AttributeType::CATEGORY_PRODUCTS_AND_SERVICES
]);
$searchParameters = [];
// Create seed keyword.
$keyword = 'aasdasdasdasdasdasdasdasdasd';
// Create related to query search parameter.
$relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
$relatedToQuerySearchParameter->setQueries([$keyword]);
$searchParameters[] = $relatedToQuerySearchParameter;
// Create language search parameter (optional).
// The ID can be found in the documentation:
// https://developers.google.com/adwords/api/docs/appendix/languagecodes
$languageParameter = new LanguageSearchParameter();
$english = new Language();
$english->setId(1000);
$languageParameter->setLanguages([$english]);
$searchParameters[] = $languageParameter;
// Create network search parameter (optional).
$networkSetting = new NetworkSetting();
$networkSetting->setTargetGoogleSearch(true);
$networkSetting->setTargetSearchNetwork(false);
$networkSetting->setTargetContentNetwork(false);
$networkSetting->setTargetPartnerSearchNetwork(false);
$networkSearchParameter = new NetworkSearchParameter();
$networkSearchParameter->setNetworkSetting($networkSetting);
$searchParameters[] = $networkSearchParameter;
$selector->setSearchParameters($searchParameters);
$selector->setPaging(new Paging(0, 50));
$totalNumEntries = 0;
do {
// Retrieve targeting ideas one page at a time, continuing to request
// pages until all of them have been retrieved.
$page = $targetingIdeaService->get($selector);
// Print out some information for each targeting idea.
if ($page->getEntries() !== null) {
$totalNumEntries = $page->getTotalNumEntries();
foreach ($page->getEntries() as $targetingIdea) {
$data = MapEntries::toAssociativeArray($targetingIdea->getData());
$keyword = $data[AttributeType::KEYWORD_TEXT]->getValue();
$searchVolume =
($data[AttributeType::SEARCH_VOLUME]->getValue() !== null)
? $data[AttributeType::SEARCH_VOLUME]->getValue() : 0;
$categoryIds =
($data[AttributeType::CATEGORY_PRODUCTS_AND_SERVICES]->getValue()
=== null)
? $categoryIds = '' : implode(', ', $data[
AttributeType::CATEGORY_PRODUCTS_AND_SERVICES]->getValue());
printf(
"Keyword idea with text '%s', category IDs (%d) and average "
. "monthly search volume %d was found.\n",
$keyword,
$categoryIds,
$searchVolume
);
}
}
$selector->getPaging()->setStartIndex(
$selector->getPaging()->getStartIndex() + 50);
} while ($selector->getPaging()->getStartIndex() < $totalNumEntries);
printf("Number of results found: %d\n", $totalNumEntries);
}
so if anyone can tell me what have I done wrong, cause the big results are always showing in response?
Thanks