Michael/ 十二月 8, 2010/ Uncategory/ 51 comments

什么是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:

kindlereader软件GAE版

下载地址:kindreader-gae-0.1.zip

本地下载:有同学反映下载安装后存在问题,这里提供我测试完全正常的版本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

请求测试的读者较多,开一个专用的测试地址:http://rss4kindle.tk

Share this Post

51 Comments

  1. 多谢楼主的教程,这就回去试试!我是从hipda过来的,哈哈

    1. 欢迎,共同学习交流

  2. 谢谢lz教程,我也是从hp过来学习的:P

    1. 欢迎共同学习交流!

  3. python 最好使用2.5版,推荐下载:http://www.activestate.com/activepython/downloads

    1. 谢谢原程式作者指导,另外你用mac打包文件后有多余的.ds文件!

    2. 可以下载3.1版本的python吗?

      1. 可以

  4. 必须开WIFI吗,有没有办法直接通过3G发送?

    求测试地址~

    1. 3G发送是付费的,需要把接收地址改为@kindle.com

  5. 现在国内的手机号 也能申请到GAE账号了?

    1. 相信有不少同学在中申请过程中没有收到Google发的认证码,有一个途径可以向Google反映的, 透过下面的网址,输入城市,门号供货商名字,以及评语,他们就会针对你的申请去解决http://appengine.google.com/waitlist/sms_issues

  6. 有个问题是 Kindle DXG 有没有简单方便的方法用RSS推送?如果在非美国地区用DXG ,每条推送至少0.99刀。我想到的方法是,自动生成文件,连接到网站后,自动下载mobi格式的文件。可是,还没有具体解决思路。

    1. 很遗憾,Kindle DXG由于没有Wifi功能,目前推送只能是3G方式;当然您可以用GAE搭建的推送站点自动推送到你固定的邮箱,生成XML上传Kindle使用;此外也可以在Amazon My Kindle设置费用上限为$0.00,然后继续向Kindle帐号推送,每条推送都会收到一封Amazon Support邮件,包含已经转换文档的下载链接,可直接下载到Kindle!以上建议不知是否可以解决您的问题!

  7. 直接用 http://kindle4rss.com/ 吧,不用自已折腾了。

    1. Fine,此服务如果能够推送图片,$1.9/M还是比较值得的!

      1. 不是每兆1.99刀啊,是每次推送按0.99刀每兆计算,不足一兆的按一兆计算,以此类推,流量向上圆整。3G实在是贵死了。

        1. 我上次有说错,我刚才又看了一下,请仔细核对,是$ .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

          1. 哈哈,站长没有继续往下看啊,不远,就5行,还有这么一句。
            Charges are rounded up to the next whole megabyte.

            就是流量向上圆整的意思。

            我已经使用推送两次了,每次推送的流量都是直接圆整到下一兆,无论是5k还是500k,都收了我0.99刀。

        2. Sorry,由于是收费服务,我My Kindle中Maximum individual charge limit: $.00,没有在意,倒是真没往下看,呵呵,非常感谢热心提醒!果然收费补足按整兆字节算啊,陷阱在最后一句!
          顺便说一下:还有个问题,就是我说的”$1.9/M还是比较值得”是http://kindle4rss.com/ 的服务,准确说是$1.9/month的订阅费用!

  8. 那个会不会有漏feeds的问题啊。我订了不超过15个feeds,但是有些有更新却没有传递诶。

    1. 我目前还没有发现有漏的情况,我设定推送的是5 feeds,50 issues per feed!

  9. 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

    1. 邮件没有成功发送,你订阅的Feed量是多少?选择了么?有先做过测试么?

      1. 我用1个Feed试了,也没有收到。

        1. 是不是Gmail要做何设置?允许其自动发送?

          1. 我猜想你肯定是选择了“测试投递”,那个功能是虚拟的,你必须等到程序正常按时间执行后投递看看!

      2. 我是昨天搭建的,今早没有收到啊?

        1. 不是测试么? http://iapp.tk/about/ 这个页面有聊天室,交流方便些!

          1. 前几天已经可以正常收RSS了,其实也没做什么,就好了。谢谢楼主,以后还会常来。

        2. 好用即可!

  10. 没有wifi 所以收件人填的不是kindle的邮箱 是我的一个邮箱 但是没有收到 为什么呢

  11. 不好意思 收到了 东西竟然在垃圾邮件箱里 不知道全不全 之前用dogear的投递总是不全的

    1. 自建一个比较好用…

  12. 再来感叹一下 这个太好用了 谢谢谢谢

  13. 为什么这几天又收不到了??已经3天没收到了 没改过设置呀

    1. 如果有问题看看后台记录,建议重置一下…

  14. 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.
    怎么办

    1. 内部代码出错,你可以用R2版安装,这个是调试好的,项目地址:http://code.google.com/p/greader4kindle/

  15. 楼主,你好
    我执行到打开“11、点击该链接(实际上该链接http://rss2kindle.appspot.com/,其中rss2kindle可直接替换你的项目名登陆!)后出现登陆页面;”
    没有出现第12部的页面。显示为:
    无法显示此网页,网址为 http://ghj0002002.appspot.com/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址,错误 108 (net::ERR_ADDRESS_INVALID):未知错误。
    求请教,谢谢

    1. 你可能被牆了

  16. 楼主,
    那我现在有什么其他办法,请指教?是重新申请一个 appspot.com?
    盼复。谢谢

    1. 我尝试访问您部署的App,地址http://ghj0002002.appspot.com,却提示是个Twitter Api,是否没有部署或将地址搞错?

  17. 版主说的对,因为我没有下载到以下文件。
    kindlereader软件GAE版
    下载地址:kindreader-gae-0.1.zip
    这个链接已经删除了,我下载了一个TWITTER 的,可否告诉我什么地方有这个下载? 如果有下载了后?怎么修改呢?
    谢谢,我是初学者。麻烦你了

  18. 楼主,我今天下载到了下载地址:kindreader-gae-0.1.zip。重新设置了第8-10步,就是第11部还是打不开:,网址为 http://ghj0002002.appspot.com/ 的网页
    由于 ghj0002002.appspot.com 响应时间过长,导致“Google Chrome 浏览器”无法加载网页。该网站可能已崩溃,或者您的互联网连接出现了问题。
    显示的是以上,请楼主看一下是什么问题。
    谢谢,方便的给我联系方式给我可以吗?

    1. 可以直接通过Twitter或者G+同我联系,地址在About页面可看到

  19. 你好,我按照步骤上传后,运行后的结果是Hello world!,没有 其它任何信息,请问是何原因啊

    1. 请检查安装包是否有问题

    2. 同样~ 下的是最新的安装包。

  20. 换了greader4kindle已调试版的gae包,一样只显示”hell world!” http://no5rss2kindle.appspot.com/

    mac OS 10.7, Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53)

    1. 我尝试打开你给的地址,的确有此问题,是不是部署不正确,我有创建一个QQ交流区:94766973,方便交流解决问题

老杨进行回复 取消回复

电子邮件地址不会被公开。

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据