2016-06-29 17 views
1

Google Adwords APIを使用して、特定のレポートで使用可能なすべてのフィールドのリストを取得する方法はありますか?私は私がレポートに必要なフィールド何を選択するのですかGoogle Adwords APIを使用して特定のAdwordsレポートに使用できるフィールドのリストを取得する

selector.getFields().addAll(Lists.newArrayList("CampaignId", 
    "AdGroupId", 
    "Id", 
    "AdNetworkType2", 
    "CriteriaType", 
    "Criteria", 
    "FinalUrls", 
    "Impressions", 
    "Clicks", 
    "Cost")); 

これは、AdWords APIのバージョン例えば201605.

を使用しています。しかし、各レポートには90以上のフィールドがあります。私の場合はすべてのフィールドを選択する必要があります。

selector.getFields().addAll(Report.getFields("ReportType"))); 

答えて

1

場合には、誰もが、少なくとも(おそらく以前のバージョンと同様)のように、この後に遭遇あなたが次のことを行うことができますv201708:だから、コードの下に似たAdWords APIの中の任意のものがあります。

https://developers.google.com/adwords/api/docs/samples/java/reporting#get-report-fields

public class GetReportFields { 

    public static void main(String[] args) throws Exception { 
    // Generate a refreshable OAuth2 credential. 
    Credential oAuth2Credential = new OfflineCredentials.Builder() 
     .forApi(Api.ADWORDS) 
     .fromFile() 
     .build() 
     .generateCredential(); 

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

    AdWordsServicesInterface adWordsServices = AdWordsServices.getInstance(); 

    runExample(adWordsServices, session); 
    } 

    public static void runExample(
     AdWordsServicesInterface adWordsServices, AdWordsSession session) throws Exception { 
    // Get the ReportDefinitionService. 
    ReportDefinitionServiceInterface reportDefinitionService = 
     adWordsServices.get(session, ReportDefinitionServiceInterface.class); 

    // Get report fields. 
    ReportDefinitionField[] reportDefinitionFields = 
     reportDefinitionService 
      .getReportFields(ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT); 

    // Display report fields. 
    System.out.println("Available fields for report:"); 

    for (ReportDefinitionField reportDefinitionField : reportDefinitionFields) { 
     System.out.printf("\t %s(%s) := [", reportDefinitionField.getFieldName(), 
      reportDefinitionField.getFieldType()); 
     if (reportDefinitionField.getEnumValues() != null) { 
     for (String enumValue : reportDefinitionField.getEnumValues()) { 
      System.out.printf("%s, ", enumValue); 
     } 
     } 
     System.out.println("]"); 
    } 
    } 
} 
関連する問題