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

时间:2018-02-20 08:19:17

标签: blogger google-api-python-client google-apis-explorer google-python-api

我有一个脚本来帮助管理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"时,有点奇怪 使用相同的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. 当&#34;尝试&#34;时,我必须以/作为前缀。文档站点上的API表明API资源有些可疑......
  5. 在我的python脚本中使用postId前缀/无法解决问题
  6. 为了清楚起见,blogIdpostId是正确的,我已经进行了双重检查,三重检查,四重检查并将完全相同的值粘贴到&#34;尝试这个API&#34;除了/ - 前缀之外,它按预期工作。

1 个答案:

答案 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