我正在尝试使用this指南上传客户哈希电子邮件列表,这是我的代码。
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:无效的自定义数据源ID格式:xxxxx。
该错误是不言自明的,但我不知道从何处获取此custom data source ID
(应该是字符串),因为我在Google Analytics(分析)控制台中看不到任何此类错误。同样,web property Id
也是一个字符串,但在控制台中看不到它。
对于从何处获取这两个属性的任何帮助/指导,我将不胜感激。
答案 0 :(得分:0)
您应该做的第一件事是accountSummaries.list。这将为您提供当前经过身份验证的用户有权访问的所有帐户的列表。
AccountSummaries accountSummaries = service.management().accountSummaries().list().execute();
然后,您在Google Analytics(分析)管理部分中找到具有网络载体的帐户,并在其中设置了data import。您可以运行custom data sources list,它将返回为该帐户设置的所有自定义数据源。
CustomDataSources sources = analytics.management().customDataSources().list(AccountIdFromPreviousRequest, WebpropertyIdFromPreviousReqeust).execute();
然后您可以使用上传中返回的ID
analytics.management().uploads().uploadData(AccountIdFromFirstRequest,
WebpropertyIdFromFirstReqeust,
customDataSourcesFromPrevousRequest,
mediaContent).execute();