我有一个脚本来帮助管理Google Blogger网站,它已经运行了一年多而没有任何问题。
几个星期前,脚本停止正常工作,而是返回" 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">
我还尝试过&#34; listByBlog&#34;资源
ERROR: <HttpError 404 when requesting https://www.googleapis.com/blogger/v3/blogs/<RedactedBlogId>/comments?status=live&alt=json&maxResults=200 returned "Not Found">
与试用此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,我的脚本运行正常,到目前为止。我能够很好地请求博客信息和帖子列表。所以我排除了身份验证/授权的问题。
结论
/
作为前缀。文档站点上的API表明API资源有些可疑...... postId
前缀/
无法解决问题blogId
和postId
是正确的,我已经进行了双重检查,三重检查,四重检查并将完全相同的值粘贴到&#34;尝试这个API&#34;除了/
- 前缀之外,它按预期工作。答案 0 :(得分:2)
我测试过并发现当特定类型的status
中没有注释时,它会产生404错误而不是返回空结果。要通过实例说明状态live
,我会像往常一样看到 -
https://www.googleapis.com/blogger/v3/blogs/2295610366269213074/posts/1288081480380921154/comments?status=live&alt=json&maxResults=200&key=KEY
但是对于状态spam
,我收到404错误,因为该特定帖子的垃圾邮件队列中当前没有评论 -
https://www.googleapis.com/blogger/v3/blogs/2295610366269213074/posts/1288081480380921154/comments?status=spam&alt=json&maxResults=200&key=KEY
如果您只是尝试访问应用程序中帖子的已发布评论,那么您可以使用公开访问的Feed网址,格式为 -
https://www.blogger.com/feeds/<BlogID>/<PostID>/comments/default?alt=json&max-results=200