调用Google API获取Blogger博文列表返回404错误,查询博客基础信息正常
可能的问题原因及排查方案
1. 博文权限不符合公共API访问要求
这是最常见的触发原因:
- 你从博客元数据拿到的
totalItems计数包含所有状态的博文(草稿、排期发布、私人可见、公开已发布),但公共API密钥(无需OAuth2授权的key参数)仅允许拉取已发布的完全公开博文 - Blogger API设计逻辑为:当没有符合查询条件的公开博文时,会直接返回404状态码,而非携带空items数组的200响应
- 排查方式:打开无痕浏览器,尝试直接访问你的单篇博文公开链接,如果无法正常访问,说明博文为非公开状态,公共API无法拉取
2. 博客全局访问限制触发拦截
- 如果你的博客开启了地区访问限制、年龄验证、登录后可见等全局权限设置,公共API请求会被直接拦截返回404
- 排查方式:用无痕浏览器访问你的博客首页,确认无需登录、无地区限制即可正常浏览
3. 未添加对应权限参数(需OAuth2认证场景)
如果你需要拉取非公开的博文,仅用API密钥无法实现,必须走OAuth2授权流程,获取对应账号的访问令牌后,在请求头携带授权信息,同时在请求URL添加view=ADMIN参数才能拉取所有状态的博文。
快速验证方法
你可以先发布1篇完全公开的测试博文,等待几分钟后再调用/posts接口,如果可以正常返回数据,即可确认是现有博文权限问题导致的404。
内容的提问来源于stack exchange,提问作者markling
相关产品推荐
相关产品推荐

