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的完整权限 - 查看
googleapisnpm包版本,若近期有更新,尝试回退到之前可用的版本测试 - 确认请求的包名
bundleId完全正确,避免因包名错误导致数据范围异常
内容的提问来源于stack exchange,提问作者ytpm
相关产品推荐
相关产品推荐

