- Вы хотите запустить функцию скрипта Google Apps после того, как файл DO C (файл Microsoft Do c) был загружен как документ Google.
- Вы хотите использовать googleapis с Node.js для загрузки файла DO C
- Вы хотите использовать Google Apps Script для пост-обработки преобразованного документа Google.
- Вы уже можете загрузить DO C файл с Drive API.
Если я правильно понял, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
В этом ответе я хотел бы запустить функцию скрипта Google Apps с помощью веб-приложений после загрузки файла. Также вы можете запустить функцию Google Apps Script, используя Apps Script API. Но в этом случае вы используете OAuth2. Поэтому я подумал, что с помощью веб-приложений легко и безопасно достичь своей цели. Этот пример сценария выглядит следующим образом.
Поток:
- Загрузите файл DO C в качестве документа Google с помощью googleapis.
- Запустите функцию Google Apps Script, запрашивая веб-приложения.
Использование:
Чтобы использовать это, выполните следующую последовательность действий.
1. Создайте новый проект скрипта Google Apps.
Пример скрипта веб-приложений - это скрипт Google Apps. Поэтому, пожалуйста, создайте проект Google Apps Script.
Исходя из вашего вопроса, я могу подтвердить, что у вас уже есть проект GAS. Поэтому, пожалуйста, используйте его.
2. Скопируйте и вставьте скрипт.
Пожалуйста, скопируйте и вставьте следующий скрипт.
function doGet(e) {
var fileId = e.parameter.id; // You can retrieve the file ID from Node.js using this.
// do something: Please set the function you want to run.
return ContentService.createTextOutput("Done.");
}
3. Развертывание веб-приложений.
- В редакторе сценариев откройте диалоговое окно с помощью «Publi sh» -> «Развернуть как веб-приложение».
- Выберите «Me " для " Запустите приложение как: ".
- Выберите " Только я " для " У кого есть доступ к приложению: ".
- В этих настройках токен доступа используется для доступа к веб-приложениям.
- Если для параметра «Любой, даже анонимный» установлено значение «У кого есть доступ к приложению:», токен доступа Не требуется использовать.
- Нажмите кнопку «Развернуть» как новую «Версия проекта».
- Автоматически откройте диалоговое окно «Требуется авторизация».
- Нажмите «Просмотреть разрешения».
- Выберите собственную учетную запись.
- Нажмите «Дополнительно» в разделе «Это приложение не подтверждено».
- Нажмите " Go to ### имя проекта ### (небезопасно) "
- Нажмите кнопку" Разрешить ".
- Нажмите" ОК ".
- Скопируйте URL-адрес веб-приложений. Это как
https://script.google.com/macros/s/###/exec
. - Когда вы изменили скрипт Google Apps, пожалуйста, повторно разверните его как новую версию. Этим измененный сценарий отражается в веб-приложениях. Пожалуйста, будьте осторожны.
4. Модифицированный скрипт:
Когда ваш скрипт модифицирован, пожалуйста, измените его следующим образом. И, пожалуйста, задайте URL-адрес веб-приложений.
function uploadFile(auth) {
const drive = google.drive({ version: "v3", auth });
var fileMetadata = {
name: "My Uploaded Test Word File",
mimeType: "application/vnd.google-apps.document"
};
var media = {
mimeType: "application/msword",
body: fs.createReadStream("./test-word.doc")
};
drive.files.create(
{
resource: fileMetadata,
media: media,
fields: "id"
},
function(err, file) {
if (err) {
// Handle error
console.error(err);
} else {
const fileId = file.data.id;
console.log("File Id:", fileId);
// The below script requests to Web Apps.
const request = require("request");
auth.getRequestHeaders().then(authorization => {
request(
{
url: `https://script.google.com/macros/s/###/exec?id=${fileId}`, // Please set this.
method: "GET",
followAllRedirects: true,
headers: authorization
},
function(err, res, body) {
console.log(body);
}
);
});
}
}
);
}
- В вашем скрипте идентификатор файла можно напрямую получить с помощью
file.data.id
. - Когда сценарий веб-приложений готово,
Done.
возвращается.
Примечание:
- Когда вы изменили сценарий Google Apps для веб-приложений, пожалуйста, повторно разверните веб-приложения в качестве новой версии. Таким образом, последний сценарий отражается в Web Apps. Пожалуйста, будьте осторожны.
Ссылки:
Если я неправильно понял ваш вопрос и это не то направление, которое вам нужно, я приношу свои извинения.