Загрузите список клиентов по электронной почте в Google Ads Management API - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь загрузить список клиентов, хэшированных по электронной почте, используя это руководство, и вот мой код.

File file = new File("/customerMatchHashed.csv");
InputStreamContent mediaContent = new InputStreamContent("application/octet-stream",
    new FileInputStream(file));
mediaContent.setLength(file.length());

try {
  Analytics analytics = initializeAnalytics();
  analytics.management().uploads().uploadData("AccountIdHere",
      "UA-123456-1", "1223334444", mediaContent).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      +  e.getDetails().getCode() + " : "
      +  e.getDetails().getMessage());
}

Я продолжаю сталкиваться с этой ошибкой.

Произошла ошибка службы: 400: Неверный формат идентификатора пользовательского источника данных: xxxxx.

Ошибка не требует пояснений, но я не знаю, где ее получить custom data source IDfrom (предполагается, что это строка), поскольку я не вижу ничего подобного в консоли Google Analytics.Точно так же web property Id также является строкой, но я не вижу ее в консоли.Я был бы признателен за любую помощь / руководство, где можно получить эти два свойства.

1 Ответ

0 голосов
/ 22 ноября 2018

Первое, что вам нужно сделать, это accountSummaries.list .Это даст вам список всех учетных записей, к которым имеет доступ текущий аутентифицированный пользователь.

AccountSummaries accountSummaries = service.management().accountSummaries().list().execute();

Затем, как только вы нашли учетную запись с веб-ресурсом, в которой вы настроили импорт данных в разделе администратора Google Analytics.Вы можете запустить список пользовательских источников данных , который вернет все пользовательские источники данных, настроенные для этой учетной записи.

CustomDataSources sources = analytics.management().customDataSources().list(AccountIdFromPreviousRequest, WebpropertyIdFromPreviousReqeust).execute();

Затем вы можете использовать идентификатор, полученный при загрузке

analytics.management().uploads().uploadData(AccountIdFromFirstRequest,
                                            WebpropertyIdFromFirstReqeust,                                                
                                           customDataSourcesFromPrevousRequest,
                                           mediaContent).execute();
...