java - 通过 Google Adwords API 获取特定 Adwords 报告可用的字段列表

标签 java google-ads-api

有什么方法可以使用 Google Adwords API 获取特定报告可用的所有字段的列表。我使用的是 Adwords API 版本 201605。

例如,

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

这就是我选择报告中所需字段的方式。但每个报告都有 90 多个可用字段。我需要选择我的案例中的所有字段。那么,adwords api 中是否有类似于以下代码的内容:

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

最佳答案

如果有人稍后遇到此问题,至少从(也可能是早期版本)v201708 开始,您可以执行以下操作。

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("]");
    }
  }
}

关于java - 通过 Google Adwords API 获取特定 Adwords 报告可用的字段列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38109730/

相关文章:

google-analytics - 在用户离开我的域进行购买并返回后使用谷歌分析跟踪用户

java - 只有环境光才能在 jME 中可靠工作

JavaFX css id 选择器名称中带有点(句号)

java - JTable单元格setDefaultRenderer到jTextArea后如何突出显示jTextArea中的选定行

java - 使用单表继承时出现hibernate错误

java - Google AdWords Java API : Help unmarshal Ad Hoc Report

Java:通过名称调用和访问数组,该名称存储在不同数组或变量内的字符串中

javascript - Google Apps 脚本 : strange "Missing ; before statement." error

javascript - 将 Google Adwords 脚本添加到 Vaadin 应用程序中

api - 无需下载的 Adwords api 报告