Создайте файл Drive с заданным языковым стандартом в международных настройках через Drive API - PullRequest
0 голосов
/ 08 января 2019

Мне нужно создать файл с помощью 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'}
                })

Следуя документации @ здесь , я попытался установить ключ properties, указав в качестве требуемого языкового стандарта, но он продолжает создавать файл с языковым стандартом моей учетной записи по умолчанию.

Как я могу заставить его работать во время создания? есть ли другой параметр, который я могу заполнить?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Ваша проблема в том, что вы смешиваете два разных "свойства".

Свойства, которые вы устанавливаете, являются пользовательскими свойствами, которые когда-либо потребляются только вами. Они не имеют значения для Google.

Свойства, которые вы хотите установить, являются частью API Spreadsheet. Смотри https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#SpreadsheetProperties

Самое простое решение - не использовать Drive API для создания электронной таблицы. Вместо этого используйте API Spreadsheet как описанное https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create

0 голосов
/ 08 января 2019

Я только что проверил это в 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, если это то, что вы используете для проверки результата ваших свойств.
...