β

Google Apps Script

Binuxの杂货铺 115 阅读

#google你个sb 把Google Reader关闭了,就像 #google你个sb 里说的, 永远不要相信有什么免费的东西,即使他是google提供的 。比如今天介绍的这个 Google Apps Script ,请不要相信它能长久运行下去,请准备好迁移的方案。

Google Apps Script

简称GAS,是一个JavaScript脚本驱动的云平台,通过GAS可以方便的连接Google和其他各种服务,执行各种自动化的任务。

平台API提供了:

甚至还有cache、lock,俨然要什么有什么啊!虽然有 配额 限制,虽然HTML会被 重新渲染 ,无法在页面中完整使用JavaScript,但是,冲着免费的 urlfetch 定时任务 就大有可为啊!我能想到的各种应用可以有:

只要你想,大有可为。
API请参考 Default Services ,上方的 Execution Methods for Scripts 等文章对环境以及常见的需求有一些介绍,建议阅读。

应用示例

RSS转烧

虽然HTML输出有限制,但 XML、JSON、JSONP 却没有限制的,配合 urlfetch ,非常适合用来做RSS转烧,全文输出(这里建议用上缓存或者数据存储)等功能。

示例:
yande.re高画质转烧 / 源码
发布指南:

  1. 阅读 Deploying Your Script as a Web App
  2. 以自己的身份执行、访问权限为允许匿名

说明: 这里展示的是图站 yande.re 的sample画质输出以及title修改,这是我的第一个脚本,这里稍微尝试了一下环境以及urlfetch的功能,应该还是蛮简单的。更多转烧:

danbooru 源码
konachan 源码

reader2gplus

自动将Google Reader中加星的条目同步到Google+上(反正Google Reader也快死了。。这个也用不了多久了吧。。)

示例: reader2gplus / 源码
发布指南:

  1. 阅读 Deploying Your Script as a Web App
  2. 首先前往 Google API Console 生成一个API,启用Google+ API,并为其生成一个Web Apps的key
  3. 在script脚本编辑页面中,Project Properties新建两个key:client_id, client_secret,填写上一步生成的key和secret
  4. 发布为以访问者身份执行,分享您fork的脚本与访问权限相一致

说明: 这里使用了 urlfetch 更多的参数,实现了OAuth2.0认证,尝试了一下 Google+的新API ,使用了 定时任务 、GET参数、 界面 以及 用户数据存储

迅雷离线预约下载

自动将迅雷离线中完成的任务添加到Aria2上

示例: xunlei2aria2 / 源码

使用说明:

  1. 访问示例页面,将【】中的脚本拖拽到书签栏中保存
  2. 访问迅雷离线页面(建议先新建一个文件夹),登陆,点击书签
  3. 选择要预约的文件夹,填写 JSON-RPC地址 需要能被外网访问
  4. 将需要下载到aria2中的任务添加或移动到预约的文件夹中,当文件从文件夹消失,文件已经被添加到aria2中了

发布指南:

  1. 阅读 Deploying Your Script as a Web App
  2. 发布为以访问者身份执行,分享您fork的脚本与访问权限相一致

说明: 终于到了一个比较实用的脚本了,这里演示的是urlfetch真正有用的地方——跨API操作。所有的东西在reader2gplus中都已经用过了,但是结构要比reader2gplus好不少。

总结

GAS比起 GAE 更加简单,但是功能足够强大,通过在线的调试器,写一两行代码比GAE要轻松不少。我JavaScript是在 w3school 学的,完全野生程序猿,在这里只是为了抛砖引玉,希望您能通过 GAS 能玩出更多有意思的东西。

#google你个sb 把Google Reader关闭了,就像 #google你个sb 里说的, 永远不要相信有什么免费的

作者:Binuxの杂货铺
原文地址:Google Apps Script, 感谢原作者分享。