Google apps script 获取外部URL并保存到驱动器
我想获取一个PDF URL并将其保存到驱动器。文件夹ID和URL是正确的Google apps script 获取外部URL并保存到驱动器,google-apps-script,google-drive-api,urlfetch,Google Apps Script,Google Drive Api,Urlfetch,我想获取一个PDF URL并将其保存到驱动器。文件夹ID和URL是正确的 function uploadDoc(){ var folder = DriveApp.getFolderById('my_folder_id'); var url = 'my_url'; var blob = UrlFetchApp.fetch(url); var blob2 = blob.getAs('application/pdf'); var newFile = folder.creat
function uploadDoc(){
var folder = DriveApp.getFolderById('my_folder_id');
var url = 'my_url';
var blob = UrlFetchApp.fetch(url);
var blob2 = blob.getAs('application/pdf');
var newFile = folder.createFile('filename.pdf',blob2);
}
当我运行此程序时,我得到:
Exception: Converting from binary/octet-stream to application/pdf is not supported.
您需要解决两个问题:
UrlFetchApp.fetch(url)
之后,您需要使用getBlob()
。getAs('appl不严格要求使用/pdf')
方法
createFile(blob)
createFile(名称、内容)
,在这个方法中,content
是字符串而不是blob
然后,要指定新文件的名称,需要使用setName(name)
function uploadDoc() {
var url = 'https://www.gstatic.com/covid19/mobility/2021-02-21_AF_Mobility_Report_en.pdf';
var foID = 'my_folder_id';
var folder = DriveApp.getFolderById(foID);
var blob = UrlFetchApp.fetch(url).getBlob();
var newFile = folder.createFile(blob).setName('filename.pdf');
}