[RequiredError.REQUIRED @ selector.campaignEstimateRequests[0].adGroupEstimateRequests[0].keywordEstimateRequests.keyword[0].matchType, RequiredError.REQUIRED @ selector.campaignEstimateRequests[0].adGroupEstimateRequests[0].keywordEstimateRequests.keyword[0].text, RequiredError.REQUIRED @ selector.campaignEstimateRequests[0].adGroupEstimateRequests[0].keywordEstimateRequests.keyword[4].matchType]
$keywords[] = new Keyword('$kword', '$mtype');
but if i use
$keywords[] = new Keyword('testing', 'EXACT'); -- this works
am i missing something here.. any help is appreciated
thanks
tryed with double quotes and no quotes but still getting the error.any help is very much appreciated
here is my code for reference, not sure where i am going wrong.
<?php
require_once dirname(dirname(__FILE__)) . '/init.php';
$keywords = array();
function EstimateKeywordTrafficExample(AdWordsUser $user) {
$trafficEstimatorService =
$user->GetService('TrafficEstimatorService', ADWORDS_VERSION);
$kfile = fopen("keywords.txt","r");
while (($line = fgets($kfile)) !== false)
{
//echo $line;
$strng = strpos($line,'.');
if ($strng == true){
$arr = explode(".", $line, 2);
$kword = $arr[0];
$mtype = $arr[1];
//echo "$kword.$mtype \n";
break;
}
}
// fclose($kfile);
$keywords[] = new keyword();
// $keywords[] = new Keyword('dentist', 'BROAD');
// $keywords[] = new Keyword("dentist hyderabad", "PHRASE");
// $keywords[] = new Keyword('dentys', 'EXACT');
$keywords[] = new Keyword($kword, $mtype);
$keywordEstimateRequests = array();
foreach ($keywords as $keyword) {
$keywordEstimateRequest = new KeywordEstimateRequest();
$keywordEstimateRequest->keyword = $keyword;
$keywordEstimateRequests[] = $keywordEstimateRequest;
}
// Create ad group estimate requests.
$adGroupEstimateRequest = new AdGroupEstimateRequest();
$adGroupEstimateRequest->keywordEstimateRequests = $keywordEstimateRequests;
$adGroupEstimateRequest->maxCpc = new Money(1000000);
// Create campaign estimate requests.
$campaignEstimateRequest = new CampaignEstimateRequest();
$campaignEstimateRequest->adGroupEstimateRequests[] = $adGroupEstimateRequest;
// Set targeting criteria. Only locations and languages are supported.
$unitedStates = new Location();
$unitedStates->id = 20453;
$campaignEstimateRequest->criteria[] = $unitedStates;
$english = new Language();
$english->id = 1000;
$campaignEstimateRequest->criteria[] = $english;
// Create selector.
$selector = new TrafficEstimatorSelector();
$selector->campaignEstimateRequests[] = $campaignEstimateRequest;
// Make the get request.
$result = $trafficEstimatorService->get($selector);
// Display results.
$keywordEstimates =
$result->campaignEstimates[0]->adGroupEstimates[0]->keywordEstimates;
for ($i = 0; $i < sizeof($keywordEstimates); $i++) {
$keywordEstimateRequest = $keywordEstimateRequests[$i];
// Skip negative keywords, since they don't return estimates.
if (!$keywordEstimateRequest->isNegative) {
$keyword = $keywordEstimateRequest->keyword;
$keywordEstimate = $keywordEstimates[$i];
// Print the mean of the min and max values.
printf("Results for the keyword with text '%s' and match type '%s':\n",
$keyword->text, $keyword->matchType);
if (isset($keywordEstimate->min->clicksPerDay) &&
isset($keywordEstimate->max->clicksPerDay)) {
$meanClicks = ($keywordEstimate->min->clicksPerDay
+ $keywordEstimate->max->clicksPerDay) / 2;
printf(" Estimated daily clicks: %d\n", $meanClicks);
}
}
}
}
// Don't run the example if the file is being included.
if (__FILE__ != realpath($_SERVER['PHP_SELF'])) {
return;
}
try {
// Get AdWordsUser from credentials in "../auth.ini"
// relative to the AdWordsUser.php file's directory.
$user = new AdWordsUser();
// Log every SOAP XML request and response.
$user->LogAll();
// Run the example.
EstimateKeywordTrafficExample($user);
} catch (Exception $e) {
printf("An error has occurred: %s\n", $e->getMessage());