#java #google-drive-api #google-sheets-api #google-api-java-client #service-accounts
Вопрос:
Я пытаюсь создать электронную таблицу, используя учетные данные учетной записи службы Google с java, в конце выполнения я получил недавно созданный идентификатор электронной таблицы, но когда я открыл свой Google диск, у меня не было ни одного листа с вновь созданным идентификатором. пожалуйста, помогите мне решить эту проблему.
это метод, который я использовал для создания нового листа :
public static void createSheet() throws IOException {
String title = LocalDateTime.now().toString() ;
Spreadsheet spreadsheet = new Spreadsheet()
.setProperties(new SpreadsheetProperties()
.setTitle(title));
spreadsheet = service.spreadsheets().create(spreadsheet)
.setFields("spreadsheetId")
.execute();
spreadsheetId = spreadsheet.getSpreadsheetId();
System.out.println("Spreadsheet ID: " spreadsheet.getSpreadsheetId());
}
и я также пытался получить доступ к идентификатору электронной таблицы через браузер, но он запросил у меня разрешение на доступ.
Ответ №1:
Учетная запись службы-это не вы. Учетная запись службы-это фиктивный пользователь с собственной учетной записью Google Drive.
Если вы сделаете файл.список вы обнаружите, что новый лист был создан в учетной записи службы учетных записей Google Drive.
Если вы хотите создать его в своей собственной учетной записи, затем создайте каталог в своей учетной записи на личном диске, поделитесь каталогом с учетной записью службы, как если бы другой пользователь просто взял адрес электронной почты учетной записи службы и поделился им таким образом.
Затем, когда вы создадите свой лист, вам нужно будет указать для родительского файла идентификатор каталога, в который вы хотите его загрузить.Вы можете использовать метод setParents, чтобы добавить его в метаданные файла.
.setProperties(new SpreadsheetProperties()
.setParents(fileid)
.setTitle(title));
Если вы хотите узнать больше о том, как работают учетные записи служб, это видео может показаться вам интересным. Он также точно показывает, как предоставить общий доступ к папке с учетной записью службы. Следует ли вам использовать учетную запись службы Google после 2021 года?