在 GAS 中使用 Urlfetch 应用程序获取驱动器文件图像
Fetching a drive file image using Urlfetch App in GAS
我找到了一种使用文件 ID 访问潜水图像的新方法。图片文件已 public 共享以供测试
https://lh3.google.com/u/0/d/1wJsovhXjWZM5qfyh3_VvJKODxw1DWQG_=w320-h200-k-iv1
这 url 会产生 302,然后完美呈现浏览器图像。
但是当我 运行 使用 URLFetch 时它给我错误 400。那是一个错误。
您的客户发出了格式错误或非法的请求。这就是我们所知道的。
我试过
function myFunction() {
var response = UrlFetchApp.fetch("https://lh3.google.com/u/0/d/1wJsovhXjWZM5qfyh3_VvJKODxw1DWQG_=w320-h200-k-iv1", {
'followRedirects': true,
'muteHttpExceptions': true,
'headers': {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
})
DriveApp.createFile(response.getBlob())
}
两件事
- 如果您获取可公开访问的 URL,则您不需要 进行身份验证。只需删除以下行:
'headers': {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
- 如果您尝试获取重定向 URL
https://lh3.google.com/u/0/d/1wJsovhXjWZM5qfyh3_VvJKODxw1DWQG_=w320-h200-k-iv1"
,您将得到以下结果:
如果您想获取实际图像,则需要获取图像的实际 URL:
function myFunction() {
var response = UrlFetchApp.fetch("https://lh3.googleusercontent.com/fife/ABSRlIr3o6GAAI3eXS8cz1Z9bWEkLp-D6RhKP8NDUfH81qWSIVA9Jj2XYE5XRifQ1-PZAPKEeH9t-0eqPCY6u_mD87pZ_hsTM9atsTL6rpDW5uZQgWVXH-UHuEMZspXRnYeZdZ87r9KQ4_YeO7z55p7qBnJeerzOaP3K_qhbEjCGpx2Eb5ln6gpvgaxAdUdV5HhUtw5d821iiod8JFNWqfiq7uGK0mvLKqUl7ZKIskhYBYW7G7r1uz5H-7DAymiwFQtQ6d2dUrWRWmms0u7O7Q5TSJHXt2HxhibEpgsFxBAK17GAmOTUa3bii3VoGifUXlKlGU1QAKH_i5ttFZn_Bbak2RzivY6QC1uDG-LgirWMzTT-2zqZcIM115qSDzrfktDaryHxBhIrUVvhrlWJ5j3QaRfUHh3__HSDgkm_Xe7-QCD3PuEYOgjxAsaLQoD3tdCywfKBWAT0crHJtTFQxtWmwR5RwNeLbFrzoeCEvVhZcaaYupC6Hwrtz8WHExAMnDHojXhqXCAwNSVYVzFVnxiigbZvl6UbSqXYsBqm_DLYlftCZ7pr28pkCnn_gKkbqitzIb-ei0mnOPFjqmMCAstLTTh4H7buZrAVvZZeYRe8xl9ypkAal_0z81L7dx3qVzCtFn6JuCRSZnlIFVseDURpFL4vDB6jqXoaEmwXt-ajA9MxefprFo6ujAdjFr_sUzHboBCfz9r3hPhvO21Qb2R2rnKGEpDRUuXr7Q=w320-h200-k-ft", {
'followRedirects': true,
'muteHttpExceptions': true,
})
Logger.log(response.getResponseCode());
DriveApp.createFile(response.getBlob().setName("blob from url"))
}
我找到了一种使用文件 ID 访问潜水图像的新方法。图片文件已 public 共享以供测试
https://lh3.google.com/u/0/d/1wJsovhXjWZM5qfyh3_VvJKODxw1DWQG_=w320-h200-k-iv1
这 url 会产生 302,然后完美呈现浏览器图像。
但是当我 运行 使用 URLFetch 时它给我错误 400。那是一个错误。 您的客户发出了格式错误或非法的请求。这就是我们所知道的。
我试过
function myFunction() {
var response = UrlFetchApp.fetch("https://lh3.google.com/u/0/d/1wJsovhXjWZM5qfyh3_VvJKODxw1DWQG_=w320-h200-k-iv1", {
'followRedirects': true,
'muteHttpExceptions': true,
'headers': {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
})
DriveApp.createFile(response.getBlob())
}
两件事
- 如果您获取可公开访问的 URL,则您不需要 进行身份验证。只需删除以下行:
'headers': {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
- 如果您尝试获取重定向 URL
https://lh3.google.com/u/0/d/1wJsovhXjWZM5qfyh3_VvJKODxw1DWQG_=w320-h200-k-iv1"
,您将得到以下结果:
如果您想获取实际图像,则需要获取图像的实际 URL:
function myFunction() {
var response = UrlFetchApp.fetch("https://lh3.googleusercontent.com/fife/ABSRlIr3o6GAAI3eXS8cz1Z9bWEkLp-D6RhKP8NDUfH81qWSIVA9Jj2XYE5XRifQ1-PZAPKEeH9t-0eqPCY6u_mD87pZ_hsTM9atsTL6rpDW5uZQgWVXH-UHuEMZspXRnYeZdZ87r9KQ4_YeO7z55p7qBnJeerzOaP3K_qhbEjCGpx2Eb5ln6gpvgaxAdUdV5HhUtw5d821iiod8JFNWqfiq7uGK0mvLKqUl7ZKIskhYBYW7G7r1uz5H-7DAymiwFQtQ6d2dUrWRWmms0u7O7Q5TSJHXt2HxhibEpgsFxBAK17GAmOTUa3bii3VoGifUXlKlGU1QAKH_i5ttFZn_Bbak2RzivY6QC1uDG-LgirWMzTT-2zqZcIM115qSDzrfktDaryHxBhIrUVvhrlWJ5j3QaRfUHh3__HSDgkm_Xe7-QCD3PuEYOgjxAsaLQoD3tdCywfKBWAT0crHJtTFQxtWmwR5RwNeLbFrzoeCEvVhZcaaYupC6Hwrtz8WHExAMnDHojXhqXCAwNSVYVzFVnxiigbZvl6UbSqXYsBqm_DLYlftCZ7pr28pkCnn_gKkbqitzIb-ei0mnOPFjqmMCAstLTTh4H7buZrAVvZZeYRe8xl9ypkAal_0z81L7dx3qVzCtFn6JuCRSZnlIFVseDURpFL4vDB6jqXoaEmwXt-ajA9MxefprFo6ujAdjFr_sUzHboBCfz9r3hPhvO21Qb2R2rnKGEpDRUuXr7Q=w320-h200-k-ft", {
'followRedirects': true,
'muteHttpExceptions': true,
})
Logger.log(response.getResponseCode());
DriveApp.createFile(response.getBlob().setName("blob from url"))
}