2014-11-25 5 views
1

Я успешно запросил доступ API к моему центру клиентов AdWords.Сервер Google Adwords API для серверных вызовов

Теперь я хочу предложить небольшой бесплатный Webtool, который использует «Оценочное обслуживание трафика ключевых слов». (Пользовательские поля для заполнения Ключевое слово и регион и получить потенциал)

Я много читал о API Google. Но, честно говоря, я новичок в OAuth.

Действительно ли необходимо, чтобы каждый пользователь был аутентифицирован через OAuth или возможен вызов между серверами (php)? Есть ли возможно учебник или пример?

Спасибо за ваши советы

ответ

0

Получить Ключевые слова оценить использование трафика, следующий функции, написанной мной, делая некоторые изменения в API AdWords, пример

Please refer this link for Google Adwords Example.

Примечание: Вы должны (ClientId, RefreshToken, ClientSecret, DeveloperToken) в этот файл: \ lib \ Google \ Api \ Ads \ AdWords \ auth.ini

Загрузите вашу библиотеку апи, включив в init.php файл .. Вы можете получить этот файл в Google AdWords библиотеки

require_once dirname(dirname(__FILE__)) . '/init.php'; 
$location = 2840;//Location unitedStates 
$language = 1000;//for english language 
$max_cpc = 1; 
$keywords = array("Keywords1","Keywords2"); 

$user = new AdWordsUser(); 
$estimateData = estimateTraffic($user,$keywords,$location,$language,$max_cpc); 


function estimateTraffic(AdWordsUser $user,$kws,$country,$lang,$max_cpc) { 
     $trafficEstimatorService = $user->GetService('TrafficEstimatorService', ADWORDS_VERSION); 
     if(!is_numeric($max_cpc) || empty($max_cpc)){ 
      $max_cpc = 1; 
     } 
     $keywords = array(); 
     foreach($kws as $v){ 
      $keywords[] = new Keyword($v, 'BROAD'); 
     } 

     // Create a keyword estimate request for each keyword. 
     $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*$max_cpc); 

     // Create campaign estimate requests. 
     $campaignEstimateRequest = new CampaignEstimateRequest(); 
     $campaignEstimateRequest->adGroupEstimateRequests[] = $adGroupEstimateRequest; 

     // Set targeting criteria. Only locations and languages are supported. 
     $unitedStates = new Location(); 
     $unitedStates->id = $country; 
     $campaignEstimateRequest->criteria[] = $unitedStates; 

     $english = new Language(); 
     $english->id = $lang; 
     $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; 

     $keywordStats = array(); 
     $decimals = 3; 
     for ($i = 0; $i < sizeof($keywordEstimates); $i++) { 

      $keywordStats[$i]['keyword'] = $kws[$i]; 

      $keywordEstimateRequest = $keywordEstimateRequests[$i]; 
      if (!$keywordEstimateRequest->isNegative) { 
       $keyword = $keywordEstimateRequest->keyword; 
       $keywordEstimate = $keywordEstimates[$i]; 

       if (isset($keywordEstimate->min->averageCpc->microAmount) && 
         isset($keywordEstimate->max->averageCpc->microAmount)) { 
        $meanAverageCpc = ($keywordEstimate->min->averageCpc->microAmount + $keywordEstimate->max->averageCpc->microAmount)/2; 
        //printf(" Estimated average CPC in micros: %.0f\n", $meanAverageCpc); 
        $keywordStats[$i]['cpc'] = number_format ($meanAverageCpc/1000000, $decimals); 
       } 
       if (isset($keywordEstimate->min->averagePosition) && 
         isset($keywordEstimate->max->averagePosition)) { 
        $meanAveragePosition = ($keywordEstimate->min->averagePosition + $keywordEstimate->max->averagePosition)/2; 
        //printf(" Estimated ad position: %.2f \n", $meanAveragePosition); 
        $keywordStats[$i]['position'] = round($meanAveragePosition); 
       } 

       if (isset($keywordEstimate->min->clickThroughRate) && 
         isset($keywordEstimate->max->clickThroughRate)) { 
        $meanClickThroughRate = ($keywordEstimate->min->clickThroughRate + $keywordEstimate->max->clickThroughRate)/2; 
        //printf(" Estimated ad position: %.2f \n", $meanAveragePosition); 
        $keywordStats[$i]['ctr'] = number_format($meanClickThroughRate,$decimals); 
       } 

       if (isset($keywordEstimate->min->impressionsPerDay) && 
         isset($keywordEstimate->max->impressionsPerDay)) { 
        $meanImpression = ($keywordEstimate->min->impressionsPerDay + $keywordEstimate->max->impressionsPerDay)/2; 
        //printf(" Estimated ad position: %.2f \n", $meanAveragePosition); 
        $keywordStats[$i]['impression'] = round($meanImpression); 
       } 

       if (isset($keywordEstimate->min->clicksPerDay) && 
         isset($keywordEstimate->max->clicksPerDay)) { 
        $meanClicks = ($keywordEstimate->min->clicksPerDay + $keywordEstimate->max->clicksPerDay)/2; 
        //printf(" Estimated daily clicks: %d\n", $meanClicks); 
        $keywordStats[$i]['clicks'] = round($meanClicks); 
       } 
       if (isset($keywordEstimate->min->totalCost->microAmount) && 
         isset($keywordEstimate->max->totalCost->microAmount)) { 
        $meanTotalCost = ($keywordEstimate->min->totalCost->microAmount + $keywordEstimate->max->totalCost->microAmount)/2; 
        //printf(" Estimated daily cost in micros: %.0f\n\n", $meanTotalCost); 
        $keywordStats[$i]['cost'] = number_format (round($meanTotalCost)/1000000, $decimals); 
       } 
      } 
     } 

     return $keywordStats; 
    } 
Смежные вопросы