构造自己的微博客同步功能(十一)GAE之一
在这种情况下,与其主动爬到资本主义阵营盗取他们的机密,倒不如让资本主义系统把机密发给我們。具体办法很简单,就是在资本主义主机上建立消息收发同步中转点,把消息以邮件或者IM的形式传送给自己。这样就跟玩饭否没有什么区别了。
一般来说,主机有多种,有收费的,有免费的,有windows的也有*nix的。鉴于GAE是Google公司提供的主机服务,无论是信誉還是服务上都非常好。所以也在它上面建立了这样的Twitter收发同步机器人。于是现在就跟大家分享。
其实不用自己开发程序也有诸如ping.fm的现成的站点。但是自己使用着开源的代码并且在Google上的服务器作收发,除了对密码的保护有安全感外。它還有其他好处:
1. 信息备份到GAE上,可以随时把数据库下載到自己的机器上
2. 没有因倒闭而终止服务的风险。
3. 程序可以自行修改,只要稍微懂得点编程技术的人,都可以自己改进程序
4. Google的网络良好,即便某些地方无法访问GAE的appspot.com,但是亦不妨碍Google GAE上的蜘蛛爬到需要的站点上获取资料
基于这些好处,我就便匆匆搞了这小程序来实现微博客同步转发机器人。 这程序里面的代码有点乱,不過因为代码不长,而且所有的配置参数已经設之在一个py文件和两个yaml文件里面了,因此,只要跟着如下步骤操作,任何人都可以实现自己的Twitter同步服务。
本编介绍的是如何实现收件接收Twitter消息以及Gtalk收费Twitter消息。下编介绍如何通过GAE+Blogger使用邮件发送Twitter。
具体按照如下步骤做即:
A、申请GAE服务
还没申请GAE的话,则需要先申请。 GAE服务直接到这里申请就可以了 http://appengine.google.com/ 内有详细中文说明,这部分不作介绍。
B、获取GAE开发包
到这里下載GAE开发包 http://code.google.com/appengine/downloads.html
如果以前曾经下載并已经安装了GAE开发包的,请确认版本必须在1.2.5或者以上的For Python版本(目前最新的是1.2.5),因为从1.2.5才開始支持Gtalk接收。1.2.5是这个月才開始提供下載的,如果你是很早已经下的,那么必须重新下載更新。
Windows官方提供几个平台的1.2.5版本下載。地址如下:
Linux: http://googleappengine.googlecod … appengine_1.2.5.zip
Windows: http://googleappengine.googlecod … AppEngine_1.2.5.msi
MAC: http://googleappengine.googlecod … eLauncher-1.2.5.dmg
C、下載微博客的程序
从 http://mblogcast.googlecode.com/files/mblogsync_gae.tar.gz 下載GAE的微博同步程序。 如果你对GAE不熟悉,建议解压后,把mblogsync.gae放到GAE的目录下。即在该目录下看到appcfg.py的同时,也应该看到mblogsync.gae这个目录(目录下有app.yaml等文件)
D、修改配置信息
一、修改 default_m2g_conf.py
(1) 修改user_mail,send_mail,user_gtalk 当发现twitter(或其他微博客)有更新时,程序会以user_mail的身份发信给send_mail,同时会发gtalk信息给 user_gtalk用户。为避免滥发垃圾邮件,所以google规定user_mail应该是你申请GAE的用户名(gmail邮箱),建议 send_mail是接收更新信息的用户名。
(2) 修改微博客信息 twitter_username,twitter_password,twitter_timeline_xml,twitter_senduri twitter_username,twitter_password是Twitter(或者其他微博客)的对应用户名。如果使用的是twitter,则无须修改twitter_timeline_xml,twitter_senduri,否则请修改成对应微博客的 Twitter兼容接口。
二、修改 app.yaml
(1)将 application: your_application_name 里面的 your_application_name 修改为你的GAE程序名(注:一般来说,域名是若xxxxx.appspot.com,则程序名是xxxxx)
(2)为了安全,将fetch_xxxx、send_rss_xxxx和check_sub_xxxx中的xxxx修改为随机且一致的数字字母组合,避免黑客攻击。
例如:使用fetch_aaa123、send_rss_bcd234和check_sub_yyy1984等
(如需了解app.yaml的细节,访问http://code.google.com/appengine … nfig/appconfig.html)
三、修改 cron.yaml
把url: /fetch_xxxx中的/fetch_xxxx修改成跟app.yaml一致的对应名字。
例如app.yaml中使用的是fetch_aaa123,则cron.yaml中亦应对应修改成: url: /fetch_aaa123
E、更新GAE的空间信息(上传程序)
appcfg.py update mblogsync.gae/
F、添加gtalk好友用户
为了能用gtalk接收到twitter更新消息,所以必须添加这个程序机器人为好友。如果你申请的GAE的空间域名是xxxxx.appspot.com,那么你就需要把[email protected]加为gtalk好友。
G、配置邮件过滤器
本程序只要收到Twitter更新,便会发信到指定邮箱,因此信件会跟你接收Twitter一樣密集,所以我建议你建立一个过滤器把所有Twitter邮件加到一个標簽下,避免出现看起来邮箱被轰炸的情况。
另加一提示:如果你担心有一天不能从你所在的地區中访问到gmail,那么你应该建立gmail的过滤器,把本程序机器人发出的送到gmail的所有邮件抄送到另外一个你感觉比較安全的服务商提供的邮箱上。
[ 本帖最后由 麦圆 于 2009-9-11 20:12 编辑 ]
- 最新
- 最热
只看作者