首先,Google Sheet api可以使用Api key。
Api key 和 OAuth 2.0 的主要区别在于
Api 密钥只能访问公共数据。
对于 REST http 请求,您可以将查询参数 key=yourAPIKey 附加到所有请求 URL。
对于 python,请参阅 google-api-python-client 库的参考。
build() 函数有一个名为 developerKey 的参数。
我写了一个从官方快速入门修改的简单示例。
#!/usr/bin/env python
from __future__ import print_function
import httplib2
import os
from apiclient import discovery
def main(key=None):
discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?'
'version=v4')
service = discovery.build(
'sheets',
'v4',
http=httplib2.Http(),
discoveryServiceUrl=discoveryUrl,
developerKey=key)
spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'
rangeName = 'Class Data!A2:E'
result = service.spreadsheets().values().get(
spreadsheetId=spreadsheetId, range=rangeName).execute()
values = result.get('values', [])
if not values:
print('No data found.')
else:
print('Name, Major:')
for row in values:
# Print columns A and E, which correspond to indices 0 and 4.
print('%s, %s' % (row[0], row[4]))
if __name__ == '__main__':
from sys import argv
if len(argv) == 2:
main(key=argv[1])
else:
main()
一些有用的官方链接。
https://developers.google.com/sheets/api/guides/authorizing
https://developers.google.com/api-client-library/python/auth/api-keys
但是,基于官方库的最流行的第三个库并没有公开 developerKey 参数。