首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >鸡和蛋的情况,从新创建的帐户中检索8位代码

鸡和蛋的情况,从新创建的帐户中检索8位代码
EN

Stack Overflow用户
提问于 2021-02-01 19:56:39
回答 2查看 41关注 0票数 2

我正在重构一个在google script G-Suite API上创建新用户帐户的脚本。

脚本运行良好,并准备了一个带有登录凭据的电子邮件模板-所有这些都如预期的那样。

我没有试图检索8位数的验证码,并将其附加到电子邮件模板,因为我们移动到组织范围内所需的2FA。

问题的症结在于,如果没有创建帐户,我自然无法获得代码。似乎有一些问题--某种类型的延迟,我不能足够快地获得代码?不完全确定。我得到了一些关于如何使用这个简单的变量声明来检索代码的帮助:

代码语言:javascript
运行
复制
AdminDirectory.VerificationCodes.list('donald.duck@example.com').items[0].verificationCode;

正如您可以想象的那样,问题是donald.duck还不是用户=)

我即将放弃,只是创建另一个脚本,发送一个8位代码的后续电子邮件。

有谁熟悉这个API,这个问题吗?

我尝试使用上面的声明设置所有类型的变量,并将其放置在当前脚本中的所有位置-甚至在创建用户之后:

代码语言:javascript
运行
复制
user = AdminDirectory.Users.insert(result.user);

但是,它总是返回一个“错误消息:无法读取未定义的属性'0‘”错误。我认为这是因为用户还不存在。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2021-02-01 23:10:32

解决方案:

每个创建的用户都需要先生成验证码。因为这是一个脚本,所以您可以在列出之前使用AdminDirectory.VerificationCodes.generate来完成此操作。

示例:

代码语言:javascript
运行
复制
function generateKeys() {
  AdminDirectory.VerificationCodes.generate("dummyemail@dummy.com");
  var keys = AdminDirectory.VerificationCodes.list("dummyemail@dummy.com").items[0].verificationCode;
  console.log(keys);
}

这应该会在执行日志中显示一个数字键,而不是undefined

参考资料:

Generate Verification Codes

票数 0
EN

Stack Overflow用户

发布于 2021-02-02 00:01:44

你得到这个错误是因为items数组是空的。在获取假定存在的值之前,首先检查元素是否存在。

代码语言:javascript
运行
复制
// 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) };
    },
  }
};

const response = AdminDirectory.VerificationCodes.list('user1@example.com');

// Check if the `items` array has anything before accessing the value
const code = response.items.length > 0 ? response.items[0].verificationCode : null;

console.log(code); // null

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65992312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档