首页 文章

Google App Maker用户选取器以及如何从目录模型返回所有值

提问于
浏览
0

我正在使用Google App Maker的用户选择器,它似乎只返回电子邮件地址 . 在使用用户选择器之前,您需要将目录模型添加到您的应用程序中,我已经完成了 .

我的问题是,有没有办法使用选定的电子邮件作为密钥并获取目录模型中的相应记录?

我有一些代码返回 undefined 为我正在寻找的3个值(userFullname,userPhone和userAddress) .

服务器脚本代码:

function getUserInfoByEmail(email) {

    var userFullname;
    var userPhone;
    var userAddress;

    console.log("serverCode - getUserInfoByEmail: " + email);

    var query = app.models.Directory.newQuery();

    query.filters.PrimaryEmail._equals = email;
    var records = query.run();
    if (records === null) {
        console.log("serverCode - getUserByEmail() - records is null");
    }
    console.log("serverCode - getUserByEmail() - " + records.length);


    for (var user in records) {

        if (user === null) {
            console.log("serverCode - getUserByEmail() - user is null");
        }


        console.log("serverCode - getUserByEmail() - user: " + user);
        userFullname = user.FullName;
        userPhone = user.PrimaryPhone;
        userAddress = user.PrimaryAddress;

        console.log("serverCode - getUserInfoByEmail - userPhone: " + userPhone);
        console.log("serverCode - getUserInfoByEmail - userAddress: " + userAddress);
        console.log("serverCode - getUserInfoByEmail - userFullname: " + userFullname);

    }
}

null 检查不返回null,没有错误 .

以下是控制台的输出:

Tue Nov 14 15:22:17 GMT-700 2017 clientCode - newValue: myemail@this.eml
Tue Nov 14 15:22:18 GMT-700 2017 serverCode - getUserInfoByEmail: myemail@this.eml
Tue Nov 14 15:22:18 GMT-700 2017 serverCode - getUserByEmail() - 1
Tue Nov 14 15:22:18 GMT-700 2017 serverCode - getUserByEmail() - user: 0
Tue Nov 14 15:22:18 GMT-700 2017 serverCode - getUserInfoByEmail - userPhone: undefined
Tue Nov 14 15:22:18 GMT-700 2017 serverCode - getUserInfoByEmail - userAddress: undefined
Tue Nov 14 15:22:18 GMT-700 2017 serverCode - getUserInfoByEmail - userFullname: undefined

欣赏任何方向和帮助 .

1 回答

  • 0

    实际上,有两个问题

    我正在使用Google App Maker的用户选择器,它似乎只返回电子邮件地址 .

    如果您希望用户选择器为您提供目录记录,则可以选中 valueIsRecord 复选框 . 之后,您将能够通过 widget.value 访问目录记录:

    enter image description here

    为3个值返回undefined的代码

    你不能在javascript中使用 for...inlearn more)循环迭代 Array (这种结构会给你键,但不是值) . 您可以使用 forEachlearn more)或旧学校 for 循环(learn more) .

    还有第三个选项: for...oflearn more),但App Script的javascript实现不支持它 .

相关问题