利用GoogleCL,实现Vim编辑Google Docs文档(及其他Google服务的命令行方式)

一、为什么要这么做?

Google Docs文档保存在云端,具有比本地更高的安全性和可用性,也便于共享与协作。但它采用基于浏览器的所见即所得编辑器,编辑过程中鼠标操作较为频繁。因此可以采用本文的方法,实现使用Vim创建和编辑Google Docs文档。

二、实现方法

以下操作环境为Ubuntu 8.10或更新版本。其他系统,包括Linux、Unix、Windows、Mac,请参考文中两个主要工具的相关文档。

  1. 安装Python,版本至少为2.4.3
    1. sudo apt-get install python
  2. 安装gdata-python-client,项目地址是http://code.google.com/p/gdata-python-client/
    1. 下载gdata-2.0.10.tar.gz
    2. 解压缩:tar xzvf gdata-2.0.10.tar.gz,进入该目录:cd gdata-2.0.10
    3. 安装:sudo python setup.py install,如果遇到问题,请查看INSTALL.txt文件
  3. 更新$PYTHONPATH到bash配置文件
    1. vim ~/.bashrc
    2. 添加:export PYTHONPATH=$PYTHONPATH:/home/claud/source/gdata-2.0.10/src/
      (这里假设gz文件被解压缩到/home/claud/sourc/目录)
    3. 重新载入配置文件:source ~/.bashrc
  4. 测试gdata-python-client
    1. 运行./tests/run_all_tests.py,如果所有输出都是OK,则测试通过,否则重新检查前面步骤是否正确
  5. 安装GoogleCL,项目地址是http://code.google.com/p/googlecl/
    1. 下载googlecl_0.9.5-1_all.deb
    2. 安装:sudo debi googlecl*.deb
  6. 第一次使用
    1. 命令行输入:google docs edit –title “Test GoogleCL” –editor vim
    2. 根据提示输入google账户名
    3. 得到一个URL,使用浏览器将其打开,登录google账户,并为本项使用授权
    4. 回到命令行,按回车
    5. 进入vim,开始编辑
    6. 编辑完成后,:wq保存退出,等待编辑内容更新到服务器,重新显示$提示符,即完成

三、FAQ

  • 为什么要手工安装gdata-python-client?

在Ubuntu下, googlecl_0.9.5-1_all.deb依赖的gdata-python-client版本为1.2,而docs功能需要gdata-python-client 2.0作为支持。因此仅仅通过Ubuntu软件包管理器进行依赖检查和自动安装是不够的。

  • 为什么运行“google *”命令后,出现“Editing documents is not supported for gdata-python-client < 2.0”错误提示?

有两种原因可能导致这一错误 :

  1. gdata-python-client未安装或版本过低,请参考前一条FAQ;
  2. $PYTHONPATH未正确配置,请参考安装步骤第3步,并保证第4步测试正常通过。

四、其他Google服务

在安装完GoogleCL后,实际上我们获得了通过命令行使用大部分google服务的能力。例如:

  • Blogger发表博文:google blogger post –title “foo” “command line posting”
  • Calendar添加行程:google calendar add “Lunch with Jim at noon tomorrow”
  • Contacts导出联系人:google contacts list name,email > contacts.csv
  • Docs编辑文档:google docs edit –title “Shopping list” –editor vim
  • Picasa批量上传照片:google picasa create –album “Cat Photos” ~/photos/cats/*.jpg
  • Youtube发布视频:google youtube post –category Education killer_robots.avi

具体的使用方法请参考:http://code.google.com/p/googlecl/wiki/ExampleScripts

此外,gdata-python-client提供了各种Google数据API接口,可以基于此根据自己的需求进行应用程序的开发。

(感谢Victor Hu指出本文中两处笔误。)

Leave a Reply

Your email address will not be published. Required fields are marked *