You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Business Profile Performance API单次请求获取全部指标?

Google Business Profile Performance API 能否单次请求获取所有指标?

核心结论

Google Business Profile Performance API 的 getDailyMetricsTimeSeries 接口不支持单次请求获取所有DailyMetric指标。当前版本的API要求每次调用必须指定单个dailyMetric参数,旧版V4.9中的"ALL"参数已被移除,无法复用。

优化方案(替代单次请求)

虽然无法单次拉取所有指标,但可以通过并行异步请求来优化多指标/多地点的查询效率,避免串行循环带来的性能损耗:

Java 并行请求示例

import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

// 定义要查询的所有指标列表
List<String> dailyMetrics = List.of("WEBSITE_CLICKS", "CALL_CLICKS", "DIRECTIONS_REQUESTS", "BUSINESS_IMPRESSIONS");
// 控制并发数,避免触发API配额限制,建议参考官方配额设置
ExecutorService executor = Executors.newFixedThreadPool(5);

try {
    // 并行发起所有指标请求
    List<CompletableFuture<Void>> futures = dailyMetrics.stream()
        .map(metric -> CompletableFuture.runAsync(() -> {
            try {
                BusinessProfilePerformance.Locations.GetDailyMetricsTimeSeries metricReport =
                    business_profile_performance.locations()
                        .getDailyMetricsTimeSeries("My locationID")
                        .setDailyMetric(metric)
                        .setDailyRangeStartDateYear(2024)
                        .setDailyRangeStartDateMonth(1)
                        .setDailyRangeStartDateDay(1)
                        .setDailyRangeEndDateYear(2024)
                        .setDailyRangeEndDateMonth(6)
                        .setDailyRangeEndDateDay(30);

                GetDailyMetricsTimeSeriesResponse response = metricReport.execute();
                if (!response.isEmpty()) {
                    System.out.println(metric + " Response == " + response);
                }
            } catch (Exception e) {
                System.err.println("Failed to fetch metric " + metric + ": " + e.getMessage());
            }
        }, executor))
        .toList();

    // 等待所有请求完成
    CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();
} finally {
    executor.shutdown();
}

注意事项

  • API配额限制:并行请求时需控制并发数,避免超出Google API的速率限制,具体配额可在Google Cloud控制台查看。
  • 多地点场景:如果需要查询大量地点,可以将地点和指标进行组合,同样用并行方式处理,但需注意进一步控制并发量,防止被限流。

内容的提问来源于stack exchange,提问作者Shila Mosammami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:15:09