У меня проблемы с извлечением OCR
Предполагается, что скрипт извлекает ссылку на изображение из ячейки в листе Google и пытается извлечь из него OCR, но сгенерированный файл OCR продолжает получать страницу входа в Google вместо изображения, которое мне нужно (и я авторизовался ...)
Есть мысли о том, почему это может происходить?
Кроме того, если бы я хотел поместить файлы OCR в их собственную папку, как бы я поступил?
Редактировать: Общий код
var extract_sheet = spreadsheet.getSheetByName("Extract Data");
var sheet = SpreadsheetApp.setActiveSheet(extract_sheet);
var startRow = 2; // First row of data to process
var numRows = 150; // Number of rows to process
function doExtract() {
var dataRange = sheet.getRange(startRow, 1, numRows, 5)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var file_link = row[4];
var extracted_data = row[6];
var ocr_file_link = row[7];
var valueURL = sheet.getRange(startRow + i, 4).getValue();
var valueURLlength = valueURL.length;
if (valueURLlength != 0) {
var image = UrlFetchApp.fetch(valueURL).getBlob();
var file = {
title: 'OCR File',
mimeType: 'image/png'
};
// OCR is supported for PDF and image formats
file = Drive.Files.insert(file, image, {ocr: true});
var doc = DocumentApp.openByUrl(file.embedLink);
var body = doc.getBody().getText();
//Get link Doc that Generated
sheet.getRange(startRow + Number(i), 6).setValue(file.embedLink);
//Get Content of Doc that Generated
sheet.getRange(startRow + Number(i), 7).setValue(body);
}
}
}
Вот как мы решили эту проблему
Оказывается, мне не нужно было покидать диск Google, поэтому я мог использовать идентификатор файла диска вместо FetchURL.
Итак, я заменил:
var image = UrlFetchApp.fetch(valueURL).getBlob();
с
var image = DriveApp.getFileById(file_ID).getBlob();
И добавил var file_ID = row[1];
после var row = data[i];
Надеюсь, это поможет другим людям, которые останавливаются с подобной проблемой!
Спасибо.