通过驱动器API在国际设置中使用设置的区域设置创建驱动器文件

2024-04-25 07:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要使用googledriveapi创建一个文件(我使用的是v3,目前最新版本)。如果有必要的话,可以使用python。你知道吗

我的代码在下面

drive_service.files().create(supportsTeamDrives=True, body={
                    'name': 'test-file',
                    'mimeType': 'application/vnd.google-apps.spreadsheet',
                    'parents': [folder_id],
                    'properties': {'locale': 'en_GB',
                                   'timeZone': 'Europe/Berlin'}
                })

在文档@here之后,我尝试将properties键的语言环境设置为所需的语言环境,但它一直使用我帐户的默认语言环境创建文件。你知道吗

如何在创建时使其工作?还有其他参数可以填写吗?你知道吗


Tags: 文件代码版本语言true环境createservice
2条回答

我刚刚在Apis Explorer中测试了这个

创建文件请求

POST https://www.googleapis.com/drive/v3/files?key={YOUR_API_KEY}

{
 "properties": {
  "test": "test"
 },
 "name": "Hello"
}

回应

{    

 "kind": "drive#file",
 "id": "1CYFI5rootSO5cndBD2gFb1n8SVvJ7_jo",
 "name": "Hello",
 "mimeType": "application/octet-stream"
}

文件获取请求

GET https://www.googleapis.com/drive/v3/files/1CYFI5rootSO5cndBD2gFb1n8SVvJ7_jo?fields=*&key={YOUR_API_KEY}

回应

 "kind": "drive#file",
 "id": "1CYFI5rootSO5cndBD2gFb1n8SVvJ7_jo",
 "name": "Hello",
 "mimeType": "application/octet-stream",
 "starred": false,
 "trashed": false,
 "explicitlyTrashed": false,
 "parents": [
  "0AJpJkOVaKccEUk9PVA"
 ],
 "properties": {
  "test": "test"
 },

它似乎工作得很好,我建议您尝试检查以下各项:

  • 在创建文件的响应中返回的文件id。以确保您正在检查刚刚上载的内容。每次运行时,都不会创建新文件。你知道吗
  • 如果您正使用fields=*来检查属性的结果,请记住将fields=*file.get一起添加。你知道吗

你的问题是你混淆了两个不同的“属性”。你知道吗

您正在设置的属性是用户定义的属性,仅由您自己使用。它们对谷歌来说毫无意义。你知道吗

要设置的属性是电子表格API的一部分。见https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#SpreadsheetProperties

最简单的解决方案是不使用driveapi来创建电子表格。相反,使用电子表格API作为描述https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create

相关问题 更多 >

    热门问题