首页 > 解决方案 > 如何获取用户的显示名称?

问题描述

我正在使用 G Suite Admin SDK用户/列表功能来获取我域中的用户列表。除了返回的信息不包括用户的显示名称外,此方法有效。当我说“显示名称”时,我指的是在 Gmail 或日历中显示的名称,它有时与用户对象中的“名称”字段中可用的名称不同,后者只有 familyName、fullName 和 givenName。

如何获取显示名称?

目前尚不清楚这与用户的个人资料和/或 Google+ 域个人资料有何关系。还有其他与这些相关的 API,但它们似乎都没有返回我正在寻找的东西。

我实际上是在 Google Apps 脚本中执行此操作的,相关代码是:

        var allUsers = [];
        var pageToken;
        var page;
        do {
            page = AdminDirectory.Users.list({
                domain: domain,
                orderBy: 'givenName',
                maxResults: 100,
                pageToken: pageToken,
                viewType: 'domain_public'
            });
            var users = page.users || [];
            for (var i = 0; i < users.length; i++) {
                allUsers.push(users[i]);
            }
            pageToken = page.nextPageToken;
        } while (pageToken);
        return allUsers;

标签: google-admin-sdk

解决方案


对于您的代码,您可以尝试使用page.users[i].name.givenName. 替换users[i]allUsers.push(page.users[i].name.givenName). 运行您的代码,您将了解如何从用户那里检索该特定信息,您将在添加“。”后看到代码完成。到pages.users[i].

  var allUsers = [];
        var pageToken;
        var page;
        do {
            page = AdminDirectory.Users.list({
                domain: domain,
                orderBy: 'givenName',
                maxResults: 100,
                pageToken: pageToken,
                viewType: 'domain_public'
            });
            var users = page.users || [];
            for (var i = 0; i < users.length; i++) {
                allUsers.push(page.users[i].name.givenName);
            }
            pageToken = page.nextPageToken;
        } while (pageToken);
        return (console.log(allUsers));

推荐阅读