【问题标题】:Google Drive script doesn't work,谷歌云端硬盘脚本不起作用,
【发布时间】:2014-05-03 15:09:10
【问题描述】:

我发现在线谷歌驱动器脚本会发送一封电子邮件,其中包含我插入的亚马逊产品价格的变化。 This is the file

我无法让它 100% 工作。它有时只对某些产品有效,我找不到原因。 请帮助我了解问题所在。

另外,我想知道我是否可以修改脚本,让它每天向我发送两次警报,而不仅仅是一次,就像现在一样。

【问题讨论】:

  • “不起作用”没有帮助。请描述究竟是什么不起作用,您看到了什么错误消息或导致您断定它不起作用的原因,以及您尝试自己调试问题的步骤。

标签: java javascript google-drive-api amazon


【解决方案1】:

配置电子邮件通知间隔

电子邮件通知配置为调用 priceEmail 函数的 Google Apps 脚本触发器。它们是在您初始化电子表格时随机分配的(请参阅Start_Tracking 实现)。

手动配置电子邮件通知 - 例如添加第二封每日电子邮件 - 打开与电子表格关联的 Copy of Amazon Price Tracker by ctrlq.org 脚本(通过电子表格 工具 > 脚本编辑器... 菜单命令)。然后继续打开触发器对话框(Resources > Current project's triggers 菜单命令)并为priceEmail 挂钩添加一个新的时间驱动触发器。

脚本错误

默认情况下,priceEmail 函数会静默处理所有错误。对于什么会导致脚本不能 100% 工作,没有太多线索。如果您希望收到错误通知,请删除当前实现中的异常处理或更新 priceEmail 正文。

我建议进行以下修改(再次通过电子表格 Tools > Script editor... 菜单命令):

function priceEmail() {

  var sheet, data, page, table="";

  sheet = SpreadsheetApp.getActiveSheet();
  data  = sheet.getRange(2, 2, 21, 2).getValues();  // Note that the script will only look at the first 20 rows.

  try {
    for (i in data) {      
      if (data[i][0] !== "") {
        page = UrlFetchApp.fetch(
          "http://ctrlq.org/aws/lookup/", {
            "method": "post", "payload": {"url":data[i][0]}
          }).getContentText();

        table = table + tableRow(page);                
      }     
    }
  } catch (e) {
    Logger.log(e.toString());
    // Following line inserted to include any error messages in your daily email(s).
    table += "<tr><td><strong>Error:</strong></td><td>" + e + " (url: \"" + data[i][0] + "\")</td></tr>";  
  }
  // ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多