Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 谷歌电子表格API v4至;添加一行";在电子表格中使用;ApiKey“;_Google Sheets_Google Spreadsheet Api - Fatal编程技术网

Google sheets 谷歌电子表格API v4至;添加一行";在电子表格中使用;ApiKey“;

Google sheets 谷歌电子表格API v4至;添加一行";在电子表格中使用;ApiKey“;,google-sheets,google-spreadsheet-api,Google Sheets,Google Spreadsheet Api,我正在尝试使用GoogleSpreadsheet API v4直接使用“ApiKey”在电子表格中“添加一行”,而不使用OAuth2.0 如果我正在使用OAuth 2.0,它将成功地“添加一行”,但我的要求是使用“ApiKey” 引用此URL: 但是没有合适的文件来使用“APIKey”。当我尝试使用“Apikey”时,它给我带来了一个“Unauthorized(401)”错误。虽然文档不完全清楚,但可以在电子表格中添加行,而无需通过OAuth流程,应用程序必须获得特定用户的同意 使用服务帐户时的

我正在尝试使用GoogleSpreadsheet API v4直接使用“ApiKey”在电子表格中“添加一行”,而不使用OAuth2.0

如果我正在使用OAuth 2.0,它将成功地“添加一行”,但我的要求是使用“ApiKey”

引用此URL:


但是没有合适的文件来使用“APIKey”。当我尝试使用“Apikey”时,它给我带来了一个“Unauthorized(401)”错误。

虽然文档不完全清楚,但可以在电子表格中添加行,而无需通过OAuth流程,应用程序必须获得特定用户的同意

使用服务帐户时的流与使用APIKey时的流非常相似,不同的是服务帐户可以获得写入工作表的明确授权

这是因为服务帐户就像一个用户,只是一个非人类的用户。程序如下:

  • 转到Google云控制台,在您的GCP项目中创建一个服务帐户。(如果没有项目,可能需要创建一个。)
  • 创建一个密钥并将其作为JSON文件下载。JSON文件将包含私钥、密钥id、服务帐户的电子邮件地址以及其他信息。把这个放在安全的地方。这是敏感数据
  • 接下来,在电子表格中,以具有编辑权限的用户身份添加服务帐户电子邮件地址
之后,您现在可以使用服务帐户客户端电子邮件和JSON文件中的私钥来创建JWT令牌来授权请求。您现在可以写入工作表,因为服务帐户是工作表中的授权编辑器

有关更多信息,请参阅。请注意,尽管文档听起来好像服务帐户无法访问用户数据,但在本例中,它可以访问用户数据,因为我们将服务帐户添加为工作表上的编辑器

另外,请参见

现在,我要说的是,你的问题表明你“需要使用APIKey”。相反,我假设您的要求是应用程序必须能够在不提示用户进行身份验证的情况下写入工作表。如果是这样的话,那么这就解决了您的问题,但是如果问题真的涉及到使用APIKey,那么唯一的方法就是让工作表对所有未经身份验证的用户公开可写


我也不知道您使用的是哪种编程语言,所以我将把创建JWT令牌留给读者作为练习,链接文档还用Java、Python和原始HTTP/REST请求描述了该过程。希望这有帮助

你知道谷歌应用程序脚本吗?您可以为电子表格CRUD操作编写自己的API/函数并部署脚本。{spreadsheet_id}/values/A1:append?valueInputOption=RAW&key=${mykey}-->我正在使用此url在电子表格中添加一行,显示401未经授权。请帮助我。您是否授予电子表格的写入权限?是。。。请告诉我授予书面许可的步骤。按照这里给出的步骤进行(第一个答案)