在 python 中,是否可以在没有授权码的情况下编辑公开共享 google sheet?
In python, is it possible to edit a publicy shared google sheet, without an auth code?
我设置了一个 google sheet 以便任何人都可以编辑。
我注意到在 gspread
包中,您可以单独从 link 中获得价差 sheet。示例:
sht1 = gc.open_by_key('1wj9L7Hn779GKP0s4MblkU1wHcqaVcG_E2YKAo1vdof0')
由于任何人都可以编辑,因此无需提供访问授权码。但是,您似乎总是需要使用授权码对其进行初始化。
有没有办法在没有任何授权码的情况下编辑 google sheet?
这可能会与此 post 的副本混淆,但是,解决方案是让客户提供他们的授权码,或者直接下载文件,但没有编辑选项文件。
不幸的是,如果没有身份验证,您将无法获得想要的结果。是强制性的东西。
最后如果你看看Gspread
you could see that is actually using the Google Sheets API。通过 API,即使在访问(如您的情况)public 数据时,您也需要进行身份验证。
有 和 API 但我真的不知道 Gspread
是否支持它们(我相信他们不支持)。
因此您可以使用 中提出的一些解决方法。
- 您想编辑 Google 电子表格而不登录 Google 以检索授权码。
- 您想通过 python.
使用 gspread 来实现此目的
- 您已经能够使用 API.API.
获取和输入 Google 电子表格的值
如果我的理解是正确的,这个解决方法怎么样?请将此视为几种解决方法之一。
解决方法:
在此解决方法中,使用了服务帐户。使用服务帐户时,您可以获取和放置 Google 电子表格的值,而无需使用 gspread 登录 Google 帐户。
要使用服务帐户访问 Google 电子表格,请执行以下流程。
- 创建服务帐户并下载 JSON 文件以使用服务帐户。
- 将服务帐户的电子邮件地址分享到您要使用的 Google 电子表格。
- 您可以在下载的 JSON 文件中看到电子邮件地址。
示例脚本:
使用sht1 = gc.open_by_key('1wj9L7Hn779GKP0s4MblkU1wHcqaVcG_E2YKAo1vdof0')
脚本与服务帐号的示例脚本如下。
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://www.googleapis.com/auth/spreadsheets']
credentials = ServiceAccountCredentials.from_json_keyfile_name('### downloaded JSON file ###', scope)
gc = gspread.authorize(credentials)
sht1 = gc.open_by_key('1wj9L7Hn779GKP0s4MblkU1wHcqaVcG_E2YKAo1vdof0')
- 请设置
### downloaded JSON file ###
.
参考文献:
我设置了一个 google sheet 以便任何人都可以编辑。
我注意到在 gspread
包中,您可以单独从 link 中获得价差 sheet。示例:
sht1 = gc.open_by_key('1wj9L7Hn779GKP0s4MblkU1wHcqaVcG_E2YKAo1vdof0')
由于任何人都可以编辑,因此无需提供访问授权码。但是,您似乎总是需要使用授权码对其进行初始化。
有没有办法在没有任何授权码的情况下编辑 google sheet?
这可能会与此 post
不幸的是,如果没有身份验证,您将无法获得想要的结果。是强制性的东西。
最后如果你看看Gspread
you could see that is actually using the Google Sheets API。通过 API,即使在访问(如您的情况)public 数据时,您也需要进行身份验证。
有 Gspread
是否支持它们(我相信他们不支持)。
因此您可以使用
- 您想编辑 Google 电子表格而不登录 Google 以检索授权码。
- 您想通过 python. 使用 gspread 来实现此目的
- 您已经能够使用 API.API. 获取和输入 Google 电子表格的值
如果我的理解是正确的,这个解决方法怎么样?请将此视为几种解决方法之一。
解决方法:
在此解决方法中,使用了服务帐户。使用服务帐户时,您可以获取和放置 Google 电子表格的值,而无需使用 gspread 登录 Google 帐户。
要使用服务帐户访问 Google 电子表格,请执行以下流程。
- 创建服务帐户并下载 JSON 文件以使用服务帐户。
- 将服务帐户的电子邮件地址分享到您要使用的 Google 电子表格。
- 您可以在下载的 JSON 文件中看到电子邮件地址。
示例脚本:
使用sht1 = gc.open_by_key('1wj9L7Hn779GKP0s4MblkU1wHcqaVcG_E2YKAo1vdof0')
脚本与服务帐号的示例脚本如下。
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://www.googleapis.com/auth/spreadsheets']
credentials = ServiceAccountCredentials.from_json_keyfile_name('### downloaded JSON file ###', scope)
gc = gspread.authorize(credentials)
sht1 = gc.open_by_key('1wj9L7Hn779GKP0s4MblkU1wHcqaVcG_E2YKAo1vdof0')
- 请设置
### downloaded JSON file ###
.