我需要使用Google Drive API创建文件(我使用的是当前最新的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
键的语言环境设置为所需的语言环境,但是它始终使用我帐户的默认语言环境来创建文件。
如何使其在创建时起作用?我可以填写另一个参数吗?
答案 0 :(得分:1)
我刚刚在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"
},
似乎工作正常,建议您尝试检查以下内容:
fields=*
中添加file.get
。答案 1 :(得分:1)
您的问题是您要混淆两个不同的“属性”。
您要设置的属性是用户定义的属性,这些属性只能由您自己使用。它们对Google无关紧要。
要设置的属性是Spreadsheet API的一部分。参见https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#SpreadsheetProperties
最简单的解决方案是不使用Drive API创建电子表格。而是将电子表格API用作已描述的https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create