【发布时间】:2023-01-24 03:08:40
【问题描述】:
我有一个关于我正在处理的 nodejs 链接抓取机器人的问题。机器人抓取一个 url 并将其添加到 Mongodb 数据库中。
我想用机器人抓取的每个链接的日期/url 自动填充一个 google 表格文件。
该机器人工作正常,并将日期/url 发布到 Mongodb 数据库。我按照本指南访问 T,https://www.lido.app/tutorials/connect-mongodb-atlas-database-to-google-sheets-via-google-apps-script,在运行/调试我的代码时遇到此错误。
这让我相信我从 Mongodb 云复制粘贴的 URL 端点有问题?我完全按照指南进行操作,没有其他链接可以复制,所以我很确定这是正确的。语法有问题吗?
谢谢你的帮助,我很感激! :)
错误:第 77 行 | const response = UrlFetchApp.fetch(findEndpoint, 选项);
我输入到 google sheets apps 脚本的整个代码如下...
const findEndpoint = 'MY MONGODB URL ENDPOINT'; const clusterName = "Cluster0" const apikey = "MY API KEY" function lookupInspection() { const activeSheetsApp = SpreadsheetApp.getActiveSpreadsheet(); const sheet = activeSheetsApp.getSheets()[0]; const partname = sheet.getRange("B1").getValue(); const limit = sheet.getRange("D1").getValue(); const skips = sheet.getRange("F1").getValue(); const orderopt = sheet.getRange("H1").getValue(); var orderr = 0; sheet.getRange(`A4:I${limit+3}`).clear() if (orderopt == "Ascending") { orderr=1; } else if (orderopt == "Descending") { orderr=-1; } //We can do operators like regular expression with the Data API const query = { business_name: { $regex: `${partname}`, $options: 'i' } } const order = { business_name: orderr } //We can Specify sort, limit and a projection here if we want const payload = { filter: query, sort: order, limit: limit, skip: skips, collection: "test", database: "posts", dataSource: clusterName } const options = { method: 'post', contentType: 'application/json', payload: JSON.stringify(payload), headers: { "api-key": apikey } }; const response = UrlFetchApp.fetch(findEndpoint, options); const documents = JSON.parse(response.getContentText()).documents // logUsage(partname, documents.length, apikey); //Log Usage for (d = 1; d <= documents.length; d++) { let doc = documents[d - 1] fields = [[doc.business_name, doc.date, doc.result, doc.sector, doc.certificate_number, doc.address.number, doc.address.street, doc.address.city, doc.address.zip]] let row = d + 3 sheet.getRange(`A${row}:I${row}`).setValues(fields) } }
【问题讨论】:
标签: javascript mongodb google-sheets