Blogger (Python) API: 如何通过帖子 ID 获取帖子?

2 投票
1 回答
1455 浏览
提问于 2025-04-15 18:34

之前我通过调用 gdata.blogger.client.add_post() 得到了一个帖子 ID...

post = client.add_post(...)
post_id = post.get_post_id()

...那么我该如何在将来使用这个帖子 ID 来获取这个帖子呢?我想也许可以用 gdata.blogger.client.Query 来实现,但这个方法不支持用帖子 ID 作为查询条件。Python 的 gdata 模块里分发的示例代码中也没有这个用法的例子,经过一段时间研究 gdata.blogger.client.* 后,我的进展并不大。

显然,我可以遍历博客中的所有帖子,直到找到那个对应 ID 的帖子,但这样做真的是个糟糕的主意。

1 个回答

1

继续我回答自己问题的主题...

经过很多尝试,看来这是一种解决方案。假设你有:

  • client -- 一个 gdata.blogger.client.BloggerClient 的实例,
  • blog -- 一个 gdata.blogger.data.Blog 的实例,
  • post_id -- 一个由 gdata.blogger.data.BlogPost.get_post_id 返回的帖子 ID。

你可以这样做:

post = client.get_feed(
            blog.get_post_link().href + '/%s' % post_id,
            auth_token=client.auth_token,
            desired_class=gdata.blogger.data.BlogPost)

撰写回答