У меня есть программа, написанная на javascript и использующая API Google Drive, которая позволяет редактировать файлы, хранящиеся на Google Диске.
Рассмотрим следующий сценарий.
1. Пользователь 'A' является владельцем файла и имеетсохранил его в своей учетной записи Google Drive.H (Sh) e опубликовал файл как общедоступный.Любой, у кого есть ссылка на файл, может редактировать его.
2. Пользователь 'B' редактирует такой файл, используя следующую программу.
Фрагмент кода, позволяющий пользователю войти в систему.
function initAuth() {
gapi.client.init({
apiKey: API_KEY,
discoveryDocs: DISCOVERY_DOCS
}).then(function() {
gapi.auth2.init({
client_id: CLIENT_ID,
fetch_basic_profile: false,
scope: SCOPES
}).then(function() {
console.log('Successfully initialised client and auth');
addListeners();
}, function(error) {
console.log(JSON.stringify(error, null, 2));
});
}, function(error) {
console.log(JSON.stringify(error, null, 2));
});
}
function handleAuthClick(event) {
gapi.auth2.getAuthInstance().signIn();
}
function handleSignoutClick(event) {
gapi.auth2.getAuthInstance().signOut();
}
function actionOnSignedIn() {
if (isSignedIn) {
var id = 'id-of-publicly-shared-file';
var newTitle = 'test';
renameFile(id, newTitle) {
}
}
Функция переименования файла.
function renameFile(id, newTitle) {
var request = gapi.client.drive.files.patch({
'fileId':id,
'resource': {
'title': newTitle
}
});
request.execute(function(file) {
console.log('File is renamed to' + file.title);
});
}
Ожидаемый результат: никакие данные профиля не должны попадать в файлвладеющий пользователь.Однако измененная временная метка файла должна обновляться.Это происходит, если такой файл редактируется с помощью Google Docs.Как мне добиться такого же поведения?
Фактический результат: детали профиля, такие как имя и изображение пользователя, который редактирует общедоступный файл, отображаются на вкладке «Последние изменения» учетной записи Google Drive пользователя, которому принадлежит файл.См. Следующее изображение. диск-аккаунт-файла-владельца