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

Google Reply to Reviews API仅返回近7天结果且缺失分页字段求助

调用Google Android Publisher Reviews API仅返回7天数据且缺少分页字段问题排查

问题描述

  • 调用Google Reply to Reviews API(androidpublisher_v3的reviews.list接口)时,仅能获取到近7天的应用评论
  • 返回结果仅包含reviews数组,缺失官方文档中说明的pageInfo和tokenPagination字段
  • 数月前调用该接口时功能正常,可正常获取分页字段

相关代码

const { google, androidpublisher_v3 } = require('googleapis');

const SERVICE_ACCOUNT_EMAIL = 'service_account@email.iam.gserviceaccount.com';
const SERVICE_ACCOUNT_KEY_FILE = require('../KEY_FILE.json');

var auth;
var authClient;
var client;

class API {

  // 单例初始化时授权Google API
  constructor() {
    this.connect();
  }

  // 授权Google API
  async connect() {

    auth = new google.auth.GoogleAuth({
      keyFile: './KEY_FILE.json',
      scopes: ['https://www.googleapis.com/auth/androidpublisher']
    });
    
    authClient = await auth.getClient();
    client = await google.androidpublisher({ 
      version: 'v3',
      auth: authClient
    });
  }

  async reviews(bundleId) {
    // 通过包名获取评论
    const createResponse = await client.reviews.list({
      packageName: bundleId,
      
    });

    var jsonResponse = JSON.stringify(createResponse);
    return createResponse;
  }
}

class Singleton {
  constructor() {
    if (!Singleton.instance) {
      Singleton.instance = new API();
    }
  }

  getInstance() {
    return Singleton.instance;
  }
}

module.exports = Singleton;

可能的原因及解决方案

1. 未指定时间范围,默认仅返回7天数据

Google Reviews API默认只返回最近7天的评论,需要显式通过startTime参数指定更早的起始时间(毫秒级时间戳),才能获取历史评论。

2. 返回值处理错误,未取到真实响应体

googleapis客户端返回的createResponse是包含多个属性的对象,真实的API响应数据在createResponse.data字段中。当前代码直接返回整个客户端响应对象,可能导致你无法看到pageInfo和tokenPagination。

3. 缺少分页参数触发默认行为

如果未指定pageSize,接口可能默认返回少量数据,此时分页字段tokenPagination可能不会出现,只有当数据量超过一页时才会返回该字段。

修改后的代码示例

async reviews(bundleId) {
  // 设置起始时间为90天前(根据需求调整)
  const ninetyDaysAgo = Date.now() - 90 * 24 * 60 * 60 * 1000;
  const createResponse = await client.reviews.list({
    packageName: bundleId,
    startTime: ninetyDaysAgo.toString(),
    pageSize: 100 // 按需设置每页返回数量
  });

  // 返回真实的API响应数据
  return createResponse.data;
}

额外排查点

  • 检查服务账号的权限是否有变更,确保拥有https://www.googleapis.com/auth/androidpublisher的完整权限
  • 查看googleapis npm包版本,若近期有更新,尝试回退到之前可用的版本测试
  • 确认请求的包名bundleId完全正确,避免因包名错误导致数据范围异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:10:26