我正在开发一个使用gspread在python中访问Google表格的程序。
在gspread文档中,他们提到:
要通过Google Sheets API访问电子表格,您需要进行身份验证和授权。
- 如果您打算代表漫游器帐户访问电子表格,请使用服务帐户。
- 如果您想代表最终用户(包括您自己)访问电子表格 ,请使用OAuth客户端ID。
我的理解是,我正在创建一个“机器人”来访问自己的帐户并更改工作表,因此我将使用OAuth。
还有其他一些Google服务,机器人在其中拥有自己的Google工作表,因此访问这些工作表将“代表”机器人进行访问吗?如果没有,那么这些身份验证选项之间有什么区别?
编辑:
文档似乎进一步回答了该问题的一部分:
服务帐户是一种特殊的Google帐户,旨在代表需要认证并有权访问Google API中数据的非人类用户。
由于它是一个单独的帐户,因此默认情况下,在您与此帐户共享之前,它无法访问任何电子表格。就像其他任何Google帐户一样。
问题的第二部分仍然存在-如果我仅从一位Google用户访问工作表,为什么我要使用bot选项,有什么区别?
答案 0 :(得分:0)
服务帐户是指
如果创建android或python应用程序,则可以使用服务帐户(在托管服务器上)代表该应用程序运行。这可以与服务帐户拥有/共享的Google表格(另一个服务器)进行交互。这是有道理的,因为如果您使用自己的帐户,则应用程序的最终用户将有权访问所有Google表格和其他凭据。通过使用服务帐户,它只能访问与其共享/自己拥有的数据。