折腾了一下twitter微博同步工具Tw2other

Tw2other是推友@cluries编写的同步twitter到新浪微博/腾讯微博/饭否/豆瓣等的工具,Tw2other的项目主页在这里,关于Tw2other的设置,在项目主页,作者@cluries已经有了较充分的说明,特别是他推荐的kamus写的教程《Sync Twitter to Sina/QQ/Fanfou etc. with tw2other Step by Step》图文并茂,讲解的非常详尽,本文要补充的只是在设置时经常容易搞混的几个点:

1、创建应用

Twitter、新浪、腾讯都采取OAuth的认证方式,因此要分别创建一个App并取得Consumer Key和Consumer Secret,地址为:

需要注意的是,在创建twitter app时,kamus教程中重点提到的"Application Type”选项现在已经没有了,但它的默认设置其实就是我们需要的"Browser”,不过在另外一个选项"Default Access type"中,要把其默认值"Read"修改为"Read & Write"。

2、Tw2other的下载、上传与修改

Tw2other的下载地址就在项目主页,下载后直接上传到支持PHP的主机空间即可,上传完成后修改项目文件中的config.php和cron.php两个文件,修改方法kamus的教程写的非常清楚,需要特别注意的时,Tw2other上传后地址对大小写是敏感的,在填写地址时要区分大小写。

3、OAuth认证

新浪微博、腾讯微博的OAuth的认证只需在浏览器中直接打开http://yourdomain/Tw2other/sina/http://yourdomain/Tw2other/qq/即可。而认证twitter,打开http://yourdomain/Tw2other/即可。

需要注意的是,认证twitter时,可能会出现"no update"或"Can't update now"的情况,看到这两个提示,并非是出现了什么错误,"no update"只是提示当前没有要同步的推,而"Can't update now"和config.php的时间参数设置有关,通常只是说明你刷新网页刷新的太快了,所以看到这两个提示,其实就说明你设置成功了。

4、主机空间Cron设置的问题

这个问题让我折腾了不少时间。

我按kamus的教程设置后,发现无法自动同步,但用手动打开项目网页的方式却可以正常同步,后来发现问题出在“时钟守护作业”(Cron Job)的命令行设置上,kamus提供的命令是适用于Dreamhost的"/usr/local/bin/php /yourdirectory/Tw2other/cron.php",但其他主机空间有可能使用其他方式调用PHP,最好的方法是到自己的主机空间去查一下设置的说明,当然还是要把cron.php文件所在的路径正确的替换进去。