Google apps script 如何在google drive中获取图像文件的url
我尝试使用下面的脚本将存储在GoogleDrive文件夹中的jpg图像插入电子表格。我使用getUrl方法获取的Url无效。但是,如果我使用这个url在Chrome中打开图像,右键单击图像并选择“获取图像url”,我会得到一个有效的url。是否有脚本方法可以为我获取正确的Url?还是有其他方法可以达到同样的效果 功能测试图像{ var ss=电子表格app.getActiveSpreadsheet; var sheet=ss.getSheets[0]; var folder=DocsList.getFolder'DataBasePicts'; var files=folder.getFiles; var img=files[0].getUrl; sheet.insertImageimg,2,2;//在类sheet方法“insertImageurl,column,row”中 } //由上面的.getUrl获取的Url无效 // https://docs.google.com/open?id=1fxx_KYV46swKQk5vh9h1ideOhW76ZhJVYIPUjopbXm4 //当在Chrome中打开图像时,使用上面的Url右键单击图像获得的Url,该Url不起作用 // https://lh6.googleusercontent.com/eWA2oIabdGeXLnIRkTkdXuZFlvt6L_pJbgKBLoTFVDEWVESPxpvziHJnFpeXocMmnwUEvYWIab4=w1318-h612 //.insertImage提供此错误消息:Google apps script 如何在google drive中获取图像文件的url,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我尝试使用下面的脚本将存储在GoogleDrive文件夹中的jpg图像插入电子表格。我使用getUrl方法获取的Url无效。但是,如果我使用这个url在Chrome中打开图像,右键单击图像并选择“获取图像url”,我会得到一个有效的url。是否有脚本方法可以为我获取正确的Url?还是有其他方法可以达到同样的效果 功能测试图像{ var ss=电子表格app.getActiveSpreadsheet; var sheet=ss.getSheets[0]; var folder=DocsList.g
//从URL或错误URL检索图像时出错:https://docs.google.com/open?
使用文件的getWebContentLink方法
File file = serive.files().get(fileId).execute();
file.getWebContentLink()
允许从Google Apps脚本使用Google Drive Web API。一旦您通过以下方式启用了该服务,其方法和属性将显示在GAS editor的自动完成功能中,使您可以轻松地探索可用的功能
例如,ADS文件对象具有一组属性。您感兴趣的是.webContentLink。我们可以轻松地将ADS与取代不推荐的DocsList的DriveApp方法结合起来,例如检索您感兴趣的图像的fileId,并将其与ADS get函数一起使用
功能测试图像{
var ss=电子表格app.getActiveSpreadsheet;
var sheet=ss.getSheets[0];
var folders=DriveApp.getFoldersByName'DataBasePicts';
如果folders.hasNext{
//假设文件夹名称是唯一的,所以使用第一个匹配项
var folder=folders.next;
var files=folder.getFiles;
如果files.hasNext{
//对于此测试,请使用第一个找到的文件
var file=files.next;
var img=Drive.Files.getfile.getId.webContentLink;
sheet.insertImageimg,2,2;//在类sheet方法“insertImageurl,column,row”中
}
//else错误:找不到文件
}
//else错误:未找到文件夹
}
文件[0].getUrl返回什么?它是否返回一个空字符串或给您某种错误?从URL检索图像时出错或错误URL:?非常感谢Mogsdad。只花了几分钟就修好了,效果非常好。一个非常专业和有竞争力的答案。