页面

2011年6月21日星期二

向blogger帖子页面嵌入facebook社交评论插件

关键词:facebook, social plugins, sns, comment, blogger, blogspot, 评论, 社交插件

 

facebook推出社交插件有一段时间了。见http://developers.facebook.com/docs/plugins/。其中评论插件比较有吸引力。blogger内置的评论工具不支持对评论进行回复,看着其他一些独立博客的评论表单功能挺强大,有点眼红了,所以试了试这个facebook的评论插件。

 

按说我是个不喜欢折腾的人,blogger的html模板以前从来就没有动过。更不会去想弄虚拟主机,独立博客,独立域名之类的事情。这次看上面这个插件实现起来也不麻烦,所以试了一试。以下操作是参考插件的官方介绍页面http://developers.facebook.com/docs/reference/plugins/comments写的。按官方介绍做下来,只能给整个网站做一个评论表单,跟留言版一样了。我们需要每个帖子有各自的评论表单,这就需要向插件提供每个帖子的url。blogger的模板提供了帖子url,用 data:post.url 即可得到。以下是详细步骤。

 

1,备份blogger的模板html文件。

2,修改这个html文件,找到 data:post.body 的地方,在其后添加几行:

<p/><h3 class='post-title entry-title'>使用Facebook社交插件参与评论&#65306;</h3>
<div id='fb-root'/><script src='http://connect.facebook.net/zh_CN/all.js#xfbml=1'/>
<fb:comments expr:href='data:post.url' num_posts='10' width='635'/>

其中各参数的意思自己揣摩,或者看上面的官方文档。

3,基本上这样就可以了。保存模板看看效果吧。如果已经满意了,就不必看后面几步了。

未登录fb时的样子:

未登录fb状态除了facebook,还可以用其他账号进行评论。

登录fb后的样子:

登录fb状态

该插件自动读取浏览器的session中处于登录状态的facebook账号信息

 

4,如果想对评论进行审核,就需要一个facebook账号作为评论审核的管理员。找到这个账号的facebook id,按如下格式加在html模板的<head>标签下面:

<meta content='你的facebook id' property='fb:admins'/>

在管理员的fb登录状态下,当有评论时是这样子的:

审核菜单

管理员可以隐藏某个评论,也可以禁止某个用户。

 

5,喜欢折腾的人可以再给这个评论插件专门申请一个facebook app,记下这个app的id。关联app之后,评论管理功能会方便很多,可以在http://developers.facebook.com/tools/comments统一管理所有的评论。继续修改模板html文件,在<head>后面再加一行:

<meta content='你的facebook app id' property='fb:app_id'/>

保存后点击插件右上角的“设置”按钮,没有设置appid时,这个设置菜单很单调,并且会提示你申请app。设置appid后则是这个样子:

设置菜单

刚设置完appid可能暂时不会生效,耐心等他一两天再来看看吧。

 

6,以上设置就全部完成了。目前我发现的两个问题,一是我即使设置了评论对所有人可见(Make every post visible to everyone by default),测试时还是只有评论者的fb好友(博主除外)才能看见评论者的评论。评论者的fb隐私设置中把相应权限改为“所有网民”也是一样。二是新评论通知会发到管理员的fb通知系统中。管理员需要登陆进fb才能知道有新的评论。但是不知道fb用的是什么通知机制,因为有时候收不到通知。

 

另外,设置完成之后,可以关闭blogger的默认评论系统。但是建议保留。毕竟会有人不想在别人的博客里留下可以识别fb身份的评论。

使用Facebook社交插件参与评论:

2011年6月7日星期二

有关一场风波的一些记忆

关键词:1989

 

小时候(1990年代)曾听到大人们谈论过一些有关此事的话题。现在还记得一些,虽然时间、地点、人物全都记不太清了,总要把能记住的一些事写下来。

 

就只记住了一段话,当然时间已经很久了,大意不错,细节可能有不太准确的地方:

有个士兵拿枪乱扫,打死了很多人,后来奖了一块金手表。有个士兵,因为学生里有自己的亲戚,不敢乱开枪。所以闭着眼睛打一枪,停一停,再打一枪。

现在看来,这段话是有一些民间加工的。

使用Facebook社交插件参与评论:

2011年6月5日星期日

マネして何か悪いの?

キーワールド:山寨, 中国, 思考の慣性の法則

 

うまく言語化できない、情報の伝達に齟齬が発生するかもしれない。でも 見て。(長門有希のマネ)

 

この間、ネットで 日本のテレビ番組「世界進出バラエティー メイド イン JAPAN」(TBSテレビ2011年4月1日放送)を見た。特に印象に残っているのは、後半の1シーンだ。カシオ社の大人気商品「G-SHOCK」の話しで、ある外国人ゲストが海外で「B-SHOCK」という、いわゆる“山寨”商品を見かけて、その商品の裏側を見てみると、「やっぱりmade in chinaだった」と言った。そして中国人ゲストが「マネして何か悪いの?」と言った。その言論に、スタジオにいる全員が結構ひいたようだ。私は その中国人の言論と ほかのみんなの反応について この文を書いた。

 

とりあえず、2つだけ言わせてもらえ。1つは、ゲストの中国人2人の考え方は、中国人の一部をしか代表していないことと思ってくれ。1つは、私は中国人の立場で言っているのではなく、地球人の立場で言っているのだ。

 

その中国人が当たり前のように「マネして何か悪いの?」と言ったから、みんなが引いた。そこで私が思うに、日本人とそのほかの外国の人が 当たり前のように「マネして当然悪いでしょう!」と言う(思う)のは、どうだろう。

 

ここは、マネしていいか悪いかを判明するのではなく、それぞれの考え方についての話しだ。日本人の一部は おそらく他人のもの(商品)をマネするのは下品だと思っているだろう。それに相手は中国だし、余計に反応がすごいだろう。例えだが、もしマネしたのは中国ではなく、インドとかベトナムとかだったら、そんな反応がないところか、逆にネタとして笑っておいただけだろう。みんなは中国にだけマネされたくないだろうね。中国人がいろいろ日本人を嫌がらせたことをやってきたから、多少なことをやっても、嫌われるんだろう。これは思考の慣性の法則ってやつなのか。中国は何千年もやってきて、こんなにも嫌われた国になったとはね(原因は?よく考えなければならない)。

 

ちなみに、その女性中国人の言論は 私はまったく賛同できない。

 

また番組中、「中国は4000年もすべったよ」ってあるゲストが言ったが、さすがに私も笑っちゃった。

使用Facebook社交插件参与评论:

2011年6月3日星期五

dropbox的通知服务器改为notify4了

关键词:dropbox, stork, stork47, notify, notify4, notification, gfw, 实时同步

又是一篇关于dropbox的文章,觉得烦了的就不用看了吧。之前研究过dropbox的实时同步机制,说是dropbox通过stork47.dropbox.com通知客户端进行实时同步。今天注意到这个服务器已经改成notify4.dropbox.com了。它还有一个服务器名,是sjc-not4.sjc.dropbox.com。


请务必搞清楚“实时同步”的意思再看本文。看看上面引用的那篇文章即可明白。之前有人说把stork47.dropbox.com加进hosts就能不受gfw影响了,但我用这个方法一直不成功,只好另辟蹊径了。不过如果你用hosts方法成功了,那么现在你就需要改一下hosts了。ip地址可以到http://just-ping.com查,这个比nslookup可信,不用担心dns污染。


通过观察一段时间的dropbox连接情况,发现它向服务器轮询的时间有了变化。以前是每60秒轮询一次,现在则是以50秒为平均值上下浮动。说来奇怪,实时同步似乎和这个轮询并没有关系。因为我抢在两次轮询之间更新某个文件,客户端也能立即同步。但是如果用gfw挡住这个轮询请求,就会没法实时同步。看来是通知服务器也同时发起到本地计算机的连接,而且是实时的,只要有更新,就会发起通知。而本地发起的轮询只是通知一下服务器最新的客户端IP地址,并不是去获取更新。客户端和服务器之间不保持一个长连接,便靠这种机制互相通信。当然我对网络什么的并不在行,只是凭直觉乱猜。想要证实这个想法的话也简单,有闲的人可以试试:


我们先设置dropbox为不走代理,这个时候是无法实时同步的。然后抢在两次轮询之间动态切换成国外代理,同时在其他客户端修改一个文件,观察dropbox是否立即更新。如果直到下次轮询时才进行更新,那便说明我的猜想是正确的。


该实验的重点是动态切换代理。我们不能按正常手段切换代理,因为那样会破环两次轮询的间隔,导致本地立即进行一次轮询。使用动态代理的目的是,不直接操作dropbox客户端而改变它的ip地址。我手头没有这样的软件(似乎wallproxy-plugins可以做到),就算有也懒得去试,因为即使实验成功,也体会不到相应程度以上的成就感。


使用Facebook社交插件参与评论: