Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何在google drive中获取图像文件的url_Google Apps Script_Google Drive Api - Fatal编程技术网

Google apps script 如何在google drive中获取图像文件的url

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

我尝试使用下面的脚本将存储在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提供此错误消息:
//从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。只花了几分钟就修好了,效果非常好。一个非常专业和有竞争力的答案。