如何取得電子郵件別名清單

問題

使用者必須取得電子郵件別名清單,但是無法透過管理控制台取得這類清單。

環境

  • Apps Script

解決方案

  1. 開啟 Apps Script
  2. 按一下「新增專案」。
  3. 在標題中為指令碼專案命名。
  4. 刪除現有的程式碼範例。
  5. 新增下列指令碼:
    /**
    
     * list users that have email aliases
    
     * Usage:
    
     * 1. copy and paste this source code to your Apps Script Editor
    
     * 2. select the following function name
    
     * 3. click 'Run'.
    
     * 4. The users with email aliases will be printed in the 'Execution log'
    
     *
    
     * © 2021 xFanatical, Inc.
    
     * @license MIT
    
     * @version 1.0.2 fix a pagination issue
    
     * @version 1.0.1 print out aliases
    
     * @version 1.0.0 proof of concept
    
     */
    
    function listUsersWithEmailAliases() {
    
      let pageToken
    
      let page
    
      do {
    
        page = AdminDirectory.Users.list({
    
          customer: 'my_customer',
    
          maxResults: 100,
    
          pageToken,
    
          fields: 'users(name/fullName,primaryEmail,aliases),nextPageToken',
    
        })
    
        let users = page.users
    
        if (users) {
    
          for (let i = 0; i < users.length; i++) {
    
            const user = users[i]
    
            if (user.aliases && user.aliases.length > 0) {
    
              Logger.log(`User ${user.name.fullName} <${user.primaryEmail}> `
    
                + `has ${user.aliases.length} email alias${user.aliases.length > 1 ? 'es' : ''}: `
    
                + JSON.stringify(user.aliases))
    
            }
    
          }
    
        } else {
    
          Logger.log('No users found.')
    
        }
    
        pageToken = page.nextPageToken
    
      } while (pageToken)
    
    }
  6. 按一下左側導覽面板中的「服務」
  7. 選取「Admin SDK API」
  8. 按一下「新增」
  9. 按一下工具列中的「儲存 Google Apps Script 專案」按鈕。
  10. 按一下「執行」
  11. 在首次執行時授予權限。
  12. 結果會顯示在執行記錄中。
,瞭解如何調查及移除這項存取權。 如果在執行指令碼後收到任何錯誤訊息:
  1. 前往管理控制台,然後依序前往「安全性」>「安全性」存取權與資料控管 >API 控制項
  2. 確認已勾選「信任網域擁有的內部應用程式」