【问题标题】:possible to set a variable from a google script API call?可以从谷歌脚本 API 调用中设置变量吗?
【发布时间】:2021-01-29 19:39:43
【问题描述】:

我正在尝试从 Google 脚本 API 获取 8 位验证码,并在另一个线程上获得了一些帮助,建议使用以下方法。注意:userEmail 是个人电子邮件地址的变量。 =)

var codes = AdminDirectory.VerificationCodes.list(userEmail).items.forEach(function(item){Logger.log('Code: ' + item.verificationCode)});

它作为函数的一部分被提及。

是否可以只调用 API 并将 8 位代码直接检索到 var 中?

喜欢: var 8DigitCode = AdminDirectory.VerificationCodes.list(userEmail);

我尝试了许多不同的语法,要么 (a) 我真的在找错树,但它不起作用,或者我使用了错误的语法 =(

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    您的方法不起作用,因为 .forEach() 没有为分配返回任何内容。

    这里的答案真的取决于你想要做什么。如果您只想要第一个返回的代码,那么只需访问数组元素即可。

    const code = AdminDirectory.VerificationCodes.list(id).items[0].verificationCode;

    在此示例中,同一用户有多个验证码,但您会忽略除一个之外的所有验证码。

    // Mock AdminDirectory
    const AdminDirectory = {
      VerificationCodes: {
        list: (userId) => {
          const codes = [{
            userId: 'user@example.com',
            verificationCode: 'code1',
          }, {
            userId: 'user@example.com',
            verificationCode: 'code2',
          }];
          return { items: codes.filter(c => c.userId === userId) };
        },
      }
    };
    
    // Get the first code
    const code = AdminDirectory.VerificationCodes
      .list('user@example.com')
      .items[0]
      .verificationCode;
    
    console.log(code); // code1

    我不知道该 API 的行为,但鉴于它可以返回多个代码,您可能希望更有选择性并使用类似 Array.prototype.find() 的内容。

    【讨论】:

    • 谢谢!这个语法有效!并给我我正在寻找的东西。
    • 好的,上面的 sn-p 工作了。但是,现在我有另一个相关的、不可预见的问题。也就是说,我正在尝试获取代码,并将其放入电子邮件模板中,以将其发送给新员工。问题是,如果我尝试在尚未创建的用户上使用它,它会给我带来问题。几乎所有情况下,我都会收到一条错误消息:无法读取未定义的属性“0”。如果我将用户设置为我知道已经存在的人,它工作正常。但是,执行我的脚本,然后调用代码的 API 时似乎存在一些问题。有什么建议吗?
    • @drexlspivey 这是一个不同的问题,最好将其作为一个新问题发布(并在此过程中接受此答案!)
    • @drexlspivey 您要求一种解决方案,可以在一个语句中获取并保存所有值,但代价是无法执行所有可以防止错误的检查'面对。查看我对您的新问题的回复stackoverflow.com/questions/65992312
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多