什么是 Google App Engine(GAE)?
Google App Engine 可让您在 Google 的基础架构上运行您的网络应用程序。App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。
您可以使用 Google 企业应用套件 通过自己的域名(例如 http://www.example.com/
)提供应用程序。或者,您可以使用 appspot.com
域上的免费域名来为您的应用程序提供服务。您可以与全世界的人共享您的应用程序,也可以限制为只有贵组织的成员可以访问。
Google App Engine 支持以几种编程语言编写的应用程序。通过 App Engine 的 Java 运行时环境,您可以使用标准 Java 技术(包括 JVM、Java servlet 和 Java 编程语言,或使用基于 JVM 的解释器或解译器的任何其他语言,例如 JavaScript 或 Ruby)构建应用程序。App Engine 还提供一个专用的 Python 运行时环境,该环境包括一个快速 Python 解释器和 Python 标准库。Java 和 Python 运行时环境构建为确保应用程序快速、安全运行,并不受系统上的其他应用程序的干扰。
在 App Engine 中,您只需为您使用的资源付费。没有设置成本,也没有重复的费用。您的应用程序使用的资源,如存储空间和带宽以千兆字节衡量,并以有竞争力的费率收费。您可以控制您的应用程序可以消费的最大资源量,使其一直保持在预算范围内。
可以免费开始使用 App Engine。所有应用程序都可以使用多达 500 MB 的存储空间,以及可支持每月约 500 万页面浏览量的足够的 CPU 和带宽,完全免费。为您的应用程序启用付费后,您的免费配额将提高,您只需为使用的超过免费水平的资源付费。
搭建 Kindle 的自动 RSS 订阅推送站需要具备的基本条件
欢迎复制转贴本文,由于本文可能会多次更新,转贴请注明原文章地址:天秤空间
1、Google Account
2、必备的调试管理软件和 kindlereader 软件 GAE 版
3、Google GAE 使用权限(需要申请取得)
4、@free.kindle.com 或 @kindle.com 的推送地址
5、用于接收 RSS 订阅的 Kindle WiFi 或 3G+WiFi
1、Google Account
第一步这里略去,没有 Google Account 的同学自行 Google 解决!
2、必备的调试管理软件
Google App Engine SDK for Python
Python 2.7.1
UltraEdit(请自行搜索下载)
Windows 用户请下载红字部分,此外 Python 我使用的是 2.6 版本,2.7 版本应该也可以!
Google App Engine SDK for Python 软件包
平台 | 版本 | 包 | 大小 |
---|---|---|---|
Windows | 1.4.0 – 2010-12-02 | GoogleAppEngine-1.4.0.msi | 9.5 MB |
Mac OS X | 1.4.0 – 2010-12-02 | GoogleAppEngineLauncher-1.4.0.dmg | 4.3 MB |
Linux/ 其他平台 | 1.4.0 – 2010-12-02 | google_appengine_1.4.0.zip | 3.2 MB |
Python 软件包
For the MD5 checksums and OpenPGP signatures, look at the detailed Python 2.7.1 page:
- Python 2.7.1 Windows installer (Windows binary — does not include source)
- Python 2.7.1 Windows X86-64 installer (Windows AMD64 / Intel 64 / X86-64 binary [1] — does not include source)
- Python 2.7.1 compressed source tarball (for Linux, Unix or OS X)
- Python 2.7.1 bzipped source tarball (for Linux, Unix or OS X, more compressed)
kindlereader 软件 GAE 版
本地下载:有同学反映下载安装后存在问题,这里提供 我测试完全正常的版本KindleReader
更新说明:作者更新了程序源码(更新程式下载地址kindlereader-gae-0.2.zip),增加测试功能和 OAuth 认证方式
使用中出现 Bug 请提交此 地址
3、Google GAE 使用权限(需要申请取得)
1、打开 Google App Engine 主页,点击页面右面的Sign up:
2、然后回提示你登陆你的 Google 帐户,没有帐户的可以去申请一个:
3、登陆 Google 账户后,页面跳转到 注册页面
4、点击“Create an Application”按钮,开始申请:
这是就要你输入你的手机号码,手机号码需要填写国际区号,中国的区号是 86,如果你的手机号是 13999999999(推荐使用移动或联通号码),那么就填写“+8613999999999”的形式,填写好后点击“Send”按钮,你的手机就会收到一条短信,发件人号码是“106575580286”,短信的内容如下:
Google App Engine Code:1234567
验证码一共有 7 位,这个短信验证是免费的,大家不要担心。此外,一个手机号码只能申请一个 Google App Engine 服务,重复申请多次也是无效的。如果没有收到短信,没办法,借个朋友的号码去申请吧,最好是中国联通的号码。
填完验证码后就是填写一些基本的信息,比如说是域名、站点的名称等等。然后确定,就申请成功了。相信有不少同学在中申请过程中没有收到 Google 发的认证码,有一个途径可以向 Google 反映的,透过下面的网址,输入城市,门号供货商名字,以及评语,他们就会针对你的申请去解决http://appengine.google.com/waitlist/sms_issues
取得 GAE 使用权限后我们可以正式开始搭建
1、登陆 Google App Engine 选择 Creative Application 进入下一步
2、填入 App 需要的信息后再次点击 Creative Application 就完成了服务器端项目的创建,我这里创建项目名称假设是 Rss2Kindle
3、分别安装已经下载的文件 GoogleAppEngine-1.4.0.msi、Python 2.7.1、UltraEdit;解压下载的文件 kindreader-gae-0.1.zip 到独立目录以你的项目名称命名,这里以 Rss2Kindle 为例;打开应用程序 GoogleAppEngine Launcher,选择 Edit–>Preferences…
4、填写 Python 路径到你安装的 Python 目录,如果是默认安装 App Engine SDK 路径可不填写,Edit 编辑器路径如果不选择 Ultraedit 可不填写,如图所示;
5、添加 kindlereader 应用程序,选择 File–>Add Existing Application;
6、添加 kindlereader 应用程序的具体路径,这里就是你解压该文件所在的目录;
7、注意到添加后的 kindlereader 应用程序项目名称和你的预先创建的 App 项目名称不同,进入下一步修改项目名称匹配;
8、点击 Edit,需要简单修改项目名称以匹配你预先创建的项目(将原来的 kindlerreader 修改为预先申请的项目名称 rss2kindle),之后点击保存退出编辑器;
9、现在可以点击 Run 在本地试运行,由于程式没问题也可以点击 Deploy 直接上传,点击 Deploy 后在弹出的对话框输入 Google Account 和密码并确认,开始自动处理;
10、上传完成后提示“You can close this window now.”你可以关闭窗口,下面配置该帐号,打开Google App Engine,发现项目名称 Current Version 下标识数字“1”
11、点击该链接(实际上该链接 http://rss2kindle.appspot.com/,其中 rss2kindle 可直接替换你的项目名登陆!)后出现登陆页面;
12、授权 Google Reader 账户,配置推送内容,至此完成设置,静待推送 RSS 好了!kindlereader 应用程序作者设置的默认推送时间是每日一次北京时间 7:30
13、完全设置好后,打开 Kindle WiFi,在推送时间就可以收到 RSS 订阅,如图所示;
更新说明:
作者更新了程序源码(更新程式 kindlereader-gae-0.2.zip 下载),增加测试功能和 OAuth 认证方式,操作方法无特殊变化,上传打开后如图所示(注意 红色 标识内容)!
希望与 Kindlereader 作者 jiedan 交流请点击此 地址,前次直接交流获悉如下要点:
介于 gae 的 cron 执行时间 10 分钟,gae 版在 cron 修改这个限制之前永远不会支持发图,目前已经允许多个时间点,编辑设置 cron.yaml 文件即可,参考:http://code.google.com/intl/zh-CN/appengine/docs/python/config/cron.html,由于 gae 支持多个管理员,所以多个 greader 也是支持的,添加多个管理即可,由于 cron 执行时间限制为 10 分钟,而直接浏览则限制为 30 秒,所以测试可能超时失败,而 cron 时却可能成功,如需测试浏览 /deliver 地址即可
如果使用中还有什么问题也欢迎留言交流!
补充:投递时间修改
修改 cron.yaml 文件可改变投递频率,例如修改schedule: every day 07:30
cron:
– description: monday morning delivery
url: /deliver
schedule: every day 07:30
timezone: Asia/Shanghai
多谢楼主的教程,这就回去试试!我是从hipda过来的,哈哈
@Jayvon 欢迎,共同学习交流
谢谢lz教程,我也是从hp过来学习的:P
@differ 欢迎共同学习交流!
python 最好使用2.5版,推荐下载:http://www.activestate.com/activepython/downloads
@jiedan 谢谢原程式作者指导,另外你用mac打包文件后有多余的.ds文件!
@jiedan 可以下载3.1版本的python吗?
@老杨 可以
必须开WIFI吗,有没有办法直接通过3G发送?
求测试地址~
@ZZ 3G发送是付费的,需要把接收地址改为@kindle.com
现在国内的手机号 也能申请到GAE账号了?
@xenocide 相信有不少同学在中申请过程中没有收到Google发的认证码,有一个途径可以向Google反映的, 透过下面的网址,输入城市,门号供货商名字,以及评语,他们就会针对你的申请去解决http://appengine.google.com/waitlist/sms_issues
有个问题是 Kindle DXG 有没有简单方便的方法用RSS推送?如果在非美国地区用DXG ,每条推送至少0.99刀。我想到的方法是,自动生成文件,连接到网站后,自动下载mobi格式的文件。可是,还没有具体解决思路。
@liyang 很遗憾,Kindle DXG由于没有Wifi功能,目前推送只能是3G方式;当然您可以用GAE搭建的推送站点自动推送到你固定的邮箱,生成XML上传Kindle使用;此外也可以在Amazon My Kindle设置费用上限为$0.00,然后继续向Kindle帐号推送,每条推送都会收到一封Amazon Support邮件,包含已经转换文档的下载链接,可直接下载到Kindle!以上建议不知是否可以解决您的问题!
直接用 http://kindle4rss.com/ 吧,不用自已折腾了。
@kindle-rss Fine,此服务如果能够推送图片,$1.9/M还是比较值得的!
@admin 不是每兆1.99刀啊,是每次推送按0.99刀每兆计算,不足一兆的按一兆计算,以此类推,流量向上圆整。3G实在是贵死了。
@liyang 我上次有说错,我刚才又看了一下,请仔细核对,是$ .99 Per Megabyte,如下:
Kindle user living outside the United States: We’ll send personal files to your Kindle wirelessly for a fee of $ .99 (USD) per megabyte anywhere in the world you access wireless service.
收费信息参考官方说明:
http://www.amazon.com/gp/help/customer/display.html?nodeId=200505540&#whispoptions
@admin 哈哈,站长没有继续往下看啊,不远,就5行,还有这么一句。
Charges are rounded up to the next whole megabyte.
就是流量向上圆整的意思。
我已经使用推送两次了,每次推送的流量都是直接圆整到下一兆,无论是5k还是500k,都收了我0.99刀。
@liyang Sorry,由于是收费服务,我My Kindle中Maximum individual charge limit: $.00,没有在意,倒是真没往下看,呵呵,非常感谢热心提醒!果然收费补足按整兆字节算啊,陷阱在最后一句!
顺便说一下:还有个问题,就是我说的”$1.9/M还是比较值得”是http://kindle4rss.com/ 的服务,准确说是$1.9/month的订阅费用!
那个会不会有漏feeds的问题啊。我订了不超过15个feeds,但是有些有更新却没有传递诶。
@Fum 我目前还没有发现有漏的情况,我设定推送的是5 feeds,50 issues per feed!
I谢谢楼主,我去试了,但并没有收到订阅的RSS。查看GAE的log,已经发送到free.kinde.com了,为什么呢?
下面是log中的内容,
NFO 2011-03-06 02:52:54,717 mail_stub.py:88] MailService.Send
INFO 2011-03-06 02:52:54,717 mail_stub.py:89] From: *@gmail.com
INFO 2011-03-06 02:52:54,717 mail_stub.py:92] To: *@free.kindle.com
INFO 2011-03-06 02:52:54,717 mail_stub.py:101] Subject: Convert
INFO 2011-03-06 02:52:54,717 mail_stub.py:104] Body:
INFO 2011-03-06 02:52:54,717 mail_stub.py:105] Content-type: text/plain
INFO 2011-03-06 02:52:54,717 mail_stub.py:106] Data length: 29
INFO 2011-03-06 02:52:54,717 mail_stub.py:118] Attachment:
INFO 2011-03-06 02:52:54,717 mail_stub.py:119] File name: chuan’s google reader(03-06 02h52m).html
INFO 2011-03-06 02:52:54,717 mail_stub.py:120] Data length: 23261
INFO 2011-03-06 02:52:54,733 mail_stub.py:211] You are not currently sending out real email. If you have sendmail installed you can use it by using the server with –enable_sendmail
INFO 2011-03-06 02:52:54,733 main.py:397] deliver to *@free.kindle.com finished, update 9 items of 9 feeds
INFO 2011-03-06 02:52:54,765 dev_appserver.py:3317] “GET /deliver?test=1 HTTP/1.1” 200 –
INFO 2011-03-06 02:52:54,780 dev_appserver_index.py:212] Updating C:Python27Appsrss2chuanindex.yaml
@chuan 邮件没有成功发送,你订阅的Feed量是多少?选择了么?有先做过测试么?
@admin 我用1个Feed试了,也没有收到。
@chuan 是不是Gmail要做何设置?允许其自动发送?
@chuan 我猜想你肯定是选择了“测试投递”,那个功能是虚拟的,你必须等到程序正常按时间执行后投递看看!
@admin 我是昨天搭建的,今早没有收到啊?
@chuan 不是测试么? http://iapp.tk/about/ 这个页面有聊天室,交流方便些!
@admin 前几天已经可以正常收RSS了,其实也没做什么,就好了。谢谢楼主,以后还会常来。
@chuan 好用即可!
没有wifi 所以收件人填的不是kindle的邮箱 是我的一个邮箱 但是没有收到 为什么呢
不好意思 收到了 东西竟然在垃圾邮件箱里 不知道全不全 之前用dogear的投递总是不全的
@sxtktcj 自建一个比较好用…
再来感叹一下 这个太好用了 谢谢谢谢
为什么这几天又收不到了??已经3天没收到了 没改过设置呀
@sxtktcj 如果有问题看看后台记录,建议重置一下…
500 Error: Server Error
The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error message and the query that caused it.
怎么办
@小贝 内部代码出错,你可以用R2版安装,这个是调试好的,项目地址:http://code.google.com/p/greader4kindle/
楼主,你好
我执行到打开“11、点击该链接(实际上该链接http://rss2kindle.appspot.com/,其中rss2kindle可直接替换你的项目名登陆!)后出现登陆页面;”
没有出现第12部的页面。显示为:
无法显示此网页,网址为 http://ghj0002002.appspot.com/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址,错误 108 (net::ERR_ADDRESS_INVALID):未知错误。
求请教,谢谢
@ghj0002002 你可能被牆了
楼主,
那我现在有什么其他办法,请指教?是重新申请一个 appspot.com?
盼复。谢谢
@tony 我尝试访问您部署的App,地址http://ghj0002002.appspot.com,却提示是个Twitter Api,是否没有部署或将地址搞错?
版主说的对,因为我没有下载到以下文件。
kindlereader软件GAE版
下载地址:kindreader-gae-0.1.zip
这个链接已经删除了,我下载了一个TWITTER 的,可否告诉我什么地方有这个下载? 如果有下载了后?怎么修改呢?
谢谢,我是初学者。麻烦你了
楼主,我今天下载到了下载地址:kindreader-gae-0.1.zip。重新设置了第8-10步,就是第11部还是打不开:,网址为 http://ghj0002002.appspot.com/ 的网页
由于 ghj0002002.appspot.com 响应时间过长,导致“Google Chrome 浏览器”无法加载网页。该网站可能已崩溃,或者您的互联网连接出现了问题。
显示的是以上,请楼主看一下是什么问题。
谢谢,方便的给我联系方式给我可以吗?
@ghj0002002 可以直接通过Twitter或者G+同我联系,地址在About页面可看到
你好,我按照步骤上传后,运行后的结果是Hello world!,没有 其它任何信息,请问是何原因啊
@dghh 请检查安装包是否有问题
@dghh 同样~ 下的是最新的安装包。
换了greader4kindle已调试版的gae包,一样只显示”hell world!” http://no5rss2kindle.appspot.com/
mac OS 10.7, Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53)
@no5 我尝试打开你给的地址,的确有此问题,是不是部署不正确,我有创建一个QQ交流区:94766973,方便交流解决问题