【发布时间】:2018-02-20 08:19:16
【问题描述】:
我有一个脚本来帮助管理一个 Google Blogger 网站,它已经运行了一年多一点,没有任何问题。
几周前,该脚本停止正常工作,而是在为博客文章请求 cmets 列表时返回“404 Not Found”错误。
ERROR: <HttpError 404 when requesting https://www.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/posts/<RedactedPostId>/comments?status=live&alt=json&maxResults=200 returned "Not Found">
我也试过“listByBlog”资源
ERROR: <HttpError 404 when requesting https://www.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/comments?status=live&alt=json&maxResults=200 returned "Not Found">
与 Try this API 比较
有点奇怪的是,当我使用"Try this API"
使用相同的blogId 和postId,我得到预期的响应......如果我还在postId 前加上正斜杠,即/<RedactedPostId> 没有正斜杠前缀,我得到一个空结果。我在复制/粘贴postId 时偶然发现了这一点。如果我检查 devtools 中的网络选项卡,请求的 URL(当收到正确的响应时)是 https://content.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/posts/%2F<RedactedPostId>/comments?key=<RedactedKey>
唯一的主要区别(除了非常奇怪的前缀要求...)是域名。
Python 客户端库
使用Python Client Library v1.6.5,到目前为止,我的脚本运行良好。我可以请求博客信息和帖子列表就好了。所以我已经排除了身份验证/授权的问题。
结论
- 我不认为授权是问题,因为其他资源有效
- 我没有对我的脚本进行任何更改...它只是有一天停止工作
- 升级到最新版本的 python 客户端库没有解决它
- 事实上,当我在文档站点上“尝试”API 时,我必须加上
/前缀,这表明 API 资源有问题... - 在我的 python 脚本中使用
/前缀postId不能解决问题 - 为了清楚起见,
blogId和postId是正确的,除了@987654336 之外,我已经仔细检查、三重检查、四重检查和复制粘贴完全相同的值到“试试这个 API” @-prefix,按预期工作。
【问题讨论】:
标签: blogger google-api-python-client google-apis-explorer google-python-api