我创建了一个脚本,可以使用服务帐户在Google云端硬盘共享驱动器上上传文件。但是,我在重命名文件时遇到麻烦。我总是得到“无标题”文件名。
这是我的代码:
function movefiletoDrive(fileId, driveID, parentDriveId){
var body = {"title":"RJ"}
var service = getDriveService();
service.reset()
if (service.hasAccess()) {
var url = 'https://www.googleapis.com/drive/v3/files/'+fileId+'?addParents='+driveID+'&removeParents='+parentDriveId+'&supportsTeamDrives=true';
var params = {
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
},
method:'PATCH'
};
var response2 = UrlFetchApp.fetch(url, params);
var response2parse = JSON.parse(response2.getContentText());
var newFileId = response2parse.id
//changeFileName(newFileId);
Logger.log(response2parse);
}
}
我尝试在URL上添加参数“ title”和“ name”来更改文件名,但是没有运气。
任何帮助将不胜感激。谢谢。
contentType
非常关键name
,而不是title
工作代码可能看起来像这样:
function movefiletoDrive(fileId, driveID, parentDriveId){
var body = {"name":"RJ"}
var service = getDriveService();
service.reset()
if (service.hasAccess()) {
var url = 'https://www.googleapis.com/drive/v3/files/'+fileId+'?addParents='+driveID+'&removeParents='+parentDriveId+'&supportsTeamDrives=true';
var params = {
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
},
method:'patch',
contentType: 'application/json',
payload: JSON.stringify(body)
};
var response2 = UrlFetchApp.fetch(url, params);
var response2parse = JSON.parse(response2.getContentText());
var newFileId = response2parse.id;
changeFileName(newFileId);
Logger.log(response2parse);
}
}
如果您遇到此解决方案的任何问题,或者我为其他问题提供的解决方案,请随时与我联系。