Мне удалось создать лист Google, используя учетную запись службы, но я не смог вставить разрешения на лист для пользователей:
function createSheet(jwt, apiKey) {
const sheets = google.sheets({version: 'v4'});
var request = {
resource: {
"properties": {
"title": "testSheet"
}
},
auth: jwt
};
Ниже приведен ответ от API создания листа:
config: {transformRequest: {…}, transformResponse: {…}, timeout: 0, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", …}
data: {spreadsheetId: "XXX", properties: {…}, sheets: Array(1), spreadsheetUrl: "https://docs.google.com/spreadsheets/d/XXX/edit"}
...
status: 200
statusText: "OK"
Мой код.
function insertPermission(fileId) {
var body = {
'value': 'xxx@gmail.com',
'type': 'user',
'role': 'owner'
};
var drive=google.drive({version: 'v3'});
drive.permissions.create({
'fileId': fileId, //sheetID returned from create sheet response
'resource': body
}, function(err, response) {if (err) {
console.error(err);
return;
} else{
console.log(JSON.parse(JSON.stringify(response))) ;
}
});
Ошибка от insertPermission:
index.js: 114 Ошибка: недостаточно прав при createError
поочередно, естьЕсть ли способ указать права доступа к файлам в Sheets.create API?