更改Google文档电子表格时如何点击网址

时间:2012-01-19 13:50:04

标签: python web-services google-docs

如何在保存或修改Google电子表格文档时点击网址/服务。例如,假设我在Google文档上有一个示例电子表格。我希望每次在该电子表格中进行更改时都会点击一个URL。我们怎样才能用Python做到这一点?任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

我刚写了一个脚本,报告何时创建/编辑文档。当看到更改时,您应该能够对此进行调整以获取URL(或执行任何操作)。

https://gist.github.com/1646532 - 以下代码

# Stuart Powers
# report when any google docs are created or changed


import os
import sys
import simplejson
import gdata.docs.service


"""
This script will report which google docs have been modified or created since
it was last run.

It compares the timestamps retrieved from google with the timestamps from the
JSON file which is updated each time the script is called.  It compares each
document's last-updated timestamp against what they were the previous time the
script was ran, it does this by using a 'docs.json' to save state.

Inspired by the stackoverflow question:
    "How to hit a URL when Google docs spreadsheet is changed"
    http://stackoverflow.com/questions/8927164/

"""


docs = gdata.docs.service.DocsService()
docs.ClientLogin('stuart.powers@gmail.com','xxxxxxxx')



# create a dictionary of doc_id/timestamp key/values
mydict = {}
for e in docs.GetDocumentListFeed().entry:
    mydict[e.id.text] = e.updated.text


# if docs.json doesn't exist, create it with our dict's data and then exit
# because there's nothing to compare against
if not os.path.exists('docs.json'):
    with open('docs.json','w') as o:
        o.write(simplejson.JSONEncoder().encode(mydict))
    sys.exit(0)


# otherwise, load the previous data from docs.json
last_data = simplejson.load(open('docs.json'))

# and compare the timestamps
for id in mydict.keys():
    if id not in last_data:
        print 'new: %s' % id
    if mydict[id] != last_data[id]:
        print 'changed: %s' % id


# update docs.json for next time and then quit
with open('docs.json','w') as o:
    o.write(simplejson.JSONEncoder().encode(mydict))