facebook-graph-api - 使用 Marketing API 获取 AdInsights 并按小时细分,但没有返回每小时数据
问题描述
营销 API v7.0(java 库)
我正在尝试提取每小时指标数据,但返回的报告不包含每小时信息。这是一些伪代码,因此您可以看到我是如何尝试获取它的:
AdAccount.APIRequestGetInsightsAsync insightsRequest = new AdAccount(ac.getId(), context).getInsightsAsync();
insightsRequest.setLevel( AdsInsights.EnumLevel.VALUE_ADSET );
insightsRequest.setBreakdowns(Arrays.asList(AdsInsights.EnumBreakdowns.VALUE_HOURLY_STATS_AGGREGATED_BY_AUDIENCE_TIME_ZONE));
// fields == "adset_id","campaign_id","impressions","inline_link_clicks","spend,action_values","actions","date_start"
insightsRequest.requestFields( Arrays.asList(fields) );
AdReportRun report = insightsRequest.execute();
我希望此报告中返回的数据包括每小时信息,如下所示:
....
{
"impressions": "172",
"date_start": "2020-06-23",
"date_stop": "2020-06-23",
"hourly_stats_aggregated_by_audience_time_zone": "01:00:00 - 01:59:59"
...
}
....
但是,我得到的数据看起来像这样
....
{
"impressions": "172",
"date_start": "2020-06-23",
"date_stop": "2020-06-23",
...
}
....
也就是说,json 中永远不会出现 "hourly_stats_aggregated_by_audience_time_zone": "01:00:00 - 01:59:59" 数据。因此,我没有每小时的信息。
任何关于为什么会这样,或者我可能做错了什么的见解将不胜感激。
解决方案
在这里回答我自己的问题。问题是AdsInsights类在
facebook-java-business-sdk.7.0.1
java lib 缺少以下数据成员:
@SerializedName("hourly_stats_aggregated_by_advertiser_time_zone")
private String mHourlyStatsAggregatedByAdvertiserTimeZone = null;
@SerializedName("hourly_stats_aggregated_by_audience_time_zone")
private String mHourlyStatsAggregatedByAudienceTimeZone = null;
显然,最后一次出现这些字段是在同一个库的 6.0.0 版本中。我检查了更改日志,没有迹象表明这些字段已被弃用或删除,所以这几乎可以肯定是某种疏忽。
对于任何可以更新最新的 java jdk 库的人,请恢复这些字段以及同样丢失的product_id数据成员。谢谢。
推荐阅读
- linux - 如何使用 jmeter 的“OS Sampler”在 ubuntu 上运行终端的任何命令
- typo3 - TYPO3 域存储库临时更改设置
- asp.net - 如何将使用 MediaRecorder 录制的视频保存到 Asp.NET Core 中的文件中?
- hpc - Rattle 不以普通用户身份运行,而是在 HPC 集群中以 root 身份运行
- .net-core - 在 httpclient 中使用作用域服务
- java - Keycloak Java 管理员客户端在触发验证电子邮件时返回 400 错误
- udp - 我可以在 UDP 服务器上为 NAT 后面的客户端使用不同的接收/发送端口吗?
- javascript - 如何在 VueJS 单元测试中触发子组件的点击事件?
- python - Python数据类从父数据类继承部分属性
- react-native - react native socket.io-client 在 Release 构建时未连接到 https 服务器