7

我设法使用以下代码创建了一个新的电子表格文档:

# Authorize
client = gdata.docs.client.DocsClient(source='TestDoc')
client.http_client.debug = False
client.client_login(self.cfg.get('google', 'email'), self.cfg.get('google', 'password'), source='TestDoc', service='writely')

# Create our doc
document = gdata.docs.data.Resource(type='spreadsheet', title='Test Report')
document = client.CreateResource(document)

据我了解,您必须通过电子表格服务进行身份验证才能操作电子表格。

# Connect to spreadsheet API
client = gdata.spreadsheet.service.SpreadsheetsService()
client.email = self.cfg.get('google', 'email')
client.password = self.cfg.get('google', 'password')
client.source = 'TestDoc'
client.ProgrammaticLogin()

我的问题是如何从上述第一步中的创建中获取电子表格密钥,以便使用 gdata.spreadsheet api 访问该电子表格?

4

1 回答 1

10

我发现document.GetId()' 的返回值包含我们需要的键。我不知道这是否是获取密钥的正确方法,但它有效。

spreadsheet_key = document.GetId().split("%3A")[1]
print "Key = %s" % spreadsheet_key

#example of using this key
w = client.AddWorksheet("Sheet 42", 5, 5, spreadsheet_key)
于 2012-05-13T10:45:31.210 回答