Monday, November 13, 2006

升级后如何才能方便的发布评论?

升级到 Blogger Beta后,由于大家无法访问 beta.blogger.com 域名,因此出现了无法发布评论的问题,在上次的帖子中有所讨论。

为了解决这个问题,我自己写了个简单的 Servlet,来接受来自页面上的评论发布,并将这个请求转到 Blogger Beta 上处理评论发布的地址 https://beta.blogger.com/comment.do,因为我可以修改服务器上的 host 文件使其可以访问 beta.blogger.com,这样可以起到一个类似代理的作用,代替需要发布评论的朋友们访问这个不能直接访问的域名。

理论上是没有问题的,实践上我也几乎取得了成功。出现的问题是:评论被正常发布后,和评论相关的帖子页面没有重建!

我们知道,用 FTP 的方式发布 Blogger,任何对帖子的更改,都会导致 Blogger 自动重建页面并自动发布到 FTP 相关的目录下,以使得 blog 网站上的页面能够反应出最近的信息,这些操作包括新增/修改/删除帖子,以及添加/删除评论。正常情况下,一旦有评论发布,这个重建的过程就会发生,这样评论能够在最多几分钟的时间内出现在页面上。

可是现在,评论的内容都出现在 Blogger Beta 自己的评论页面上了,但是却没有触发页面重建。不过,如果直接把页面上评论表单的内容提交到 https://beta.blogger.com/comment.do,则一切正确;但是当然这样做没有意义,因为这要求发布评论的朋友能够直接访问 beta.blogger.com 域名。

现在出现的现象会是,大家发布的评论不会立即显示在帖子页面上,但是实际上是已经被正确的保存了。我看到电子邮件的提示后,就会尽快重建页面使得这些评论能够被显示出来。相信这个问题只是暂时的,总归是应该得到解决的。

这个问题琢磨了一晚上也没有得到结果,Google 上也搜不出什么有用的东西来。已经把这个问题发布到了 Google 上的 Blogger Data API 讨论组求助,希望有人遇到过类似的问题从而给我一些提示。

Updated on 2006/11/17:
有一个更科学的方法来提交评论,那就是用 GData API 向单贴评论的 Feed 地址提交,不过仍然有些问题。详见“通过 GData API 提交评论”。

Updated on 2006/12/21:
Blogger 的某次更新似乎已经解决了评论提交后页面不会重建的问题。现在在页内的评论表单中提交评论,页面会被立即重建,只是由于需要重建的页面和以往的老 Blogger 比起来要多一些,因此会慢一点。一般 5 分钟之内评论就会出现在页面上了。

16 comments:

Anonymous said...

可以发一下下面这个提交评论部分的代码么,到blogger beta的就可以

另外帖子下面的label是添加后自动显示的么,这部分的代码是什么样子的

多谢了

Anonymous said...

直接由发布后的 blogger 页面提交评论,虽然可能,但是却没有办法放到模版中对任何一片帖子都有效,因为这个表单中需要一个 securityToken 字段,这个是根据当前时间戳以及要发布的帖子 postID 生成的。如果你打开 Blogger Beta 发布评论的页面,你会在它的源代码中发现这个隐藏字段,而且每次刷新后这个字段的内容都不同。我自己写的 Servlet 可以办到,是因为我在向 Blogger Beta 提交评论信息之前,先在后台打开 Blogger Beta 的评论页并自动从 HTML 源代码中解析出这个隐藏字段,再和其它评论信息一并提交。

帖子页面的 label 内容,在 Blogger 发布帖子的时候添加后自然就有,这个是作为帖子正文的一部分发布的。

江南刀客 said...

Error

抱歉!您的评论目前无法提交!

无法处理您的申请。请重试。

Anonymous said...

谢谢你的提醒!

程序上有点问题,现在已经修正了。目前页内评论框已经可以使用了。

Anonymous said...

这个功能有点神奇哟

Anonymous said...

Blogger 的某次更新似乎已经解决了评论提交后页面不会重建的问题。现在在页内的评论表单中提交评论,页面会被立即重建,只是由于需要重建的页面和以往的老 Blogger 比起来要多一些,因此会慢一点。一般 5 分钟之内评论就会出现在页面上了。

Anonymous said...

页内评论?真的不错哦

Anonymous said...

你好,首先声明我是很菜的菜鸟,我被弄疯了,所有才来问你下面这个你看来如此简单的问题:为什么我在blogger上改不了时间,因为每次一修改文章,他就把时间计为修改时的时间了,可我怎么也改不回去了,晕死,能不能麻烦你抽空回答我一下?发到我的邮箱lune.huang@gmail.com拜谢啊

Anonymous said...

就是说19号就只能改成19号以内的时间,本来18号写的,改了一点点也全部成了19号写的,回不到18号了,有什么办法改变吗
拜谢!

Anonymous said...

交换友情链接吧,一经申请,就可以和平台上的能达到对方要求的网站进行友情链接,不要再为找不友情链接,而烦脑了,本系统对外公开、免费

Anonymous said...

真不错呢

Unknown said...

uggs outlet
michael kors uk
michael kors outlet online
christian louboutin sale
celine handbags
cheap nfl jerseys
timberlands
coach outlet
michael kors
abercrombie and fitch
20150311huangqihang

mmjiaxin said...

herve leger dresses
louis vuitton handbags outlet
coach outlet store
ralph lauren outlet
ray-ban sunglasses
kobe bryants shoes
tiffany and co
karen millen uk
coach outlet online
phone cases
rolex uk
nike free 5
swarovski crystal
louis vuitton handbags outlet
ray ban sunglasses
cheap oakley sunglasses
michael kors canada
nba jerseys
mlb jerseys
michael kors handbags
mm1205

mmjiaxin said...

herve leger dresses
louis vuitton handbags outlet
coach outlet store
ralph lauren outlet
ray-ban sunglasses
kobe bryants shoes
tiffany and co
karen millen uk
coach outlet online
phone cases
rolex uk
nike free 5
swarovski crystal
louis vuitton handbags outlet
ray ban sunglasses
cheap oakley sunglasses
michael kors canada
nba jerseys
mlb jerseys
michael kors handbags
mm1205

yanmaneee said...

goyard bags
golden goose
yeezy shoes
goyard
golden goose
supreme outlet
golden goose shoes
adidas yeezy
goyard handbags
adidas yeezy

whoaseigh said...

h6f50v5o11 j0o02s5a49 c5p07o2f77 d1i30b3p11 e1n56b5t59 a0m53p2u58