2016-10-06 3 views

Antwort

0

Hier ist, wie ich einen Adwords API-Code geändert, um es in der Lage, die Anzahl der Schlüsselwörter in einem Konto (als clientCustomerId in ads.properties Datei angegeben) abrufen.

package adwords.axis.v201609.basicoperations; 

import com.google.api.ads.adwords.axis.factory.AdWordsServices; 
import com.google.api.ads.adwords.axis.utils.v201609.SelectorBuilder; 
import com.google.api.ads.adwords.axis.v201609.cm.AdGroupCriterionPage; 
import com.google.api.ads.adwords.axis.v201609.cm.AdGroupCriterionServiceInterface; 
import com.google.api.ads.adwords.axis.v201609.cm.Paging; 
import com.google.api.ads.adwords.axis.v201609.cm.Selector; 
import com.google.api.ads.adwords.lib.client.AdWordsSession; 
import com.google.api.ads.adwords.lib.selectorfields.v201609.cm.AdGroupCriterionField; 
import com.google.api.ads.common.lib.auth.OfflineCredentials; 
import com.google.api.client.auth.oauth2.Credential; 

import java.text.NumberFormat; 

/** 
* This example gets the count of all ad group criteria in an account. 
* 
* @modified by Biniam Asnake. 
*/ 
public class GetCountOfKeywordsInAccount { 

    public static void main(String[] args) throws Exception { 

     // execution duration counter 
     long started = System.currentTimeMillis(); 

     // Generate a refreshable OAuth2 credential. 
     Credential oAuth2Credential = new OfflineCredentials.Builder() 
       .forApi(OfflineCredentials.Api.ADWORDS) 
       .fromFile() 
       .build() 
       .generateCredential(); 

     // Construct an AdWordsSession. 
     AdWordsSession session = new AdWordsSession.Builder() 
       .fromFile() 
       .withOAuth2Credential(oAuth2Credential) 
       .build(); 

     AdWordsServices adWordsServices = new AdWordsServices(); 

     runExample(adWordsServices, session); 

     System.out.println("Execution took: " + ((System.currentTimeMillis() - started)/1000) + " seconds."); 
    } 

    public static void runExample(AdWordsServices adWordsServices, AdWordsSession session) throws Exception { 

     // Get the AdGroupCriterionService. 
     AdGroupCriterionServiceInterface adGroupCriterionService = 
       adWordsServices.get(session, AdGroupCriterionServiceInterface.class); 

     // Create selector. 
     SelectorBuilder builder = new SelectorBuilder(); 
     Selector selector = builder 
       .fields(AdGroupCriterionField.Id) 
       .in(AdGroupCriterionField.CriteriaType, "KEYWORD") 
       .in(AdGroupCriterionField.Status, "ENABLED") 
       .build(); 

     // Set selector paging = the most important change is to set numberResults to 0. 
     Paging paging = new Paging(); 
     paging.setNumberResults(0); 
     selector.setPaging(paging); 

     // Get all ad group criteria. 
     AdGroupCriterionPage page = adGroupCriterionService.get(selector); 

     System.out.println("Count of Keywords = " + NumberFormat.getInstance().format(page.getTotalNumEntries())); 
    } 
} 

Stellen Sie sicher, ads.properties Datei in Ihrem Klassenpfad haben.

# Credentials for accessing Google AdWords API 
api.adwords.refreshToken=SOME-THING 
api.adwords.clientId=SOME-THING 
api.adwords.clientSecret=SOME-THING 
api.adwords.userAgent=SOME-THING 
api.adwords.developerToken=SOME-THING 
api.adwords.isPartialFailure=true 
api.adwords.clientCustomerId=123456789