404通过Google Blogger API请求评论时出错

问题描述 投票:3回答:1

我有一个脚本来帮助管理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">

我也尝试了“listByBlog”资源

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"blogIdpostId相同时,我得到了预期的响应....如果我还使用正斜杠前缀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,我的脚本工作正常,到目前为止。我可以请求博客信息和帖子列表。所以我排除了身份验证/授权的问题。

结论

  1. 由于其他资源有效,我认为授权不是问题
  2. 我的脚本没有做任何改动......它有一天停止了工作
  3. 升级到最新版本的python客户端库没有解决它
  4. 当我在文档网站上“尝试”API时,我必须使用/作为前缀,这表明API资源存在问题......
  5. 在我的python脚本中使用postId前缀/无法解决问题
  6. 为了清楚起见,blogIdpostId是正确的,我已经仔细检查,三重检查,四重检查和复制粘贴完全相同的值到“尝试此API”,除了/前缀,按预期工作。
blogger google-api-python-client google-apis-explorer google-python-api
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.