Admin Settings API 總覽

Admin Settings API 可讓 Google Workspace 網域的管理員以 Google Data API 動態饋給格式擷取及變更網域的設定。

這類網域設定包含 Google Workspace 管理控制台的眾多功能。這個 API 的應用實例包括建立自訂控制台,以及將 Google Workspace 網域整合到現有的原有環境。

Admin Settings API 會導入 Google Data API 通訊協定。Google Data API 符合 Atom Publishing Protocol (AtomPub) 的發布和編輯模型。AtomPub HTTP 要求使用 Representational Set Transfer (RESTful) 設計方法來處理網路服務。詳情請參閱 Google 資料開發人員指南

適用對象

本文件可協助開發人員編寫可修改及擷取 Google Workspace 網域相關資訊的用戶端應用程式。其中提供了使用原始 XML 和 HTTP 的基本 Admin Settings API 互動範例。

本文假設您已經瞭解 Google Data API 通訊協定的一般概念,且您熟悉 Google Workspace 管理控制台。如要進一步瞭解管理控制台,請參閱使用管理控制台

入門課程

建立帳戶

已為 Google Workspace 帳戶啟用 Admin Settings API。申請 Google Workspace 帳戶以進行測試。管理員設定服務使用 Google 帳戶,所以如果您已有 Google Workspace 網域中的帳戶,就可以完成設定。

關於 Admin Settings API 動態饋給類型

Admin Settings API 可讓您管理以下類別的網域設定:

單一登入設定

SAML 式單一登入 (SSO) 服務可讓使用者在 Google Workspace 代管的服務和貴機構代管的其他服務中,使用相同的登入資訊和密碼。具體來說,在使用單一登入 (SSO) 時,代管的網頁應用程式 (例如 Google Workspace) 會將使用者重新導向至貴機構的識別資訊提供者,在使用者登入時進行驗證。詳情請參閱「瞭解 Google Workspace 的 SAML 式單一登入 (SSO) 服務」。

設定單一登入 (SSO) 服務後,您必須輸入必要資訊,讓 Google Workspace 服務與儲存使用者登入資訊的識別資訊提供者通訊,以及設定要在登入、登出及變更密碼時傳送的連結。Admin Settings API 可讓您透過程式更新及擷取這些設定。Google 會使用產生的公開金鑰向識別資訊提供者驗證這項單一登入 (SSO) 要求,並確認私密金鑰 SAML 回應在網路傳輸期間未經修改。

如需簡要瞭解單一登入 (SSO) 設定的操作說明,請向您的識別資訊提供者取得公開金鑰憑證、向 Google 註冊公開金鑰,以及進行 SAML 式 SSO 查詢設定。如果看到錯誤訊息,請參閱排解 SSO 問題

  • 產生金鑰:透過識別資訊提供者,使用 DSA 或 RSA 演算法產生一組公開金鑰和私密金鑰。公開金鑰為 X.509 格式的憑證。如要進一步瞭解 SAML 式單一登入簽署金鑰,請參閱產生 Google Workspace 單一登入服務所需的金鑰和憑證
  • 向 Google 註冊 - 使用 Admin Settings API 的「單一登入」設定,向 Google 註冊您的公用金鑰憑證。
  • 完成 SSO 設定:使用 Admin Settings API 的「單一登入」設定,調整與網域識別資訊提供者伺服器通訊的設定。

閘道和轉送設定

這個資訊提供可讓網域管理員控管網域的電子郵件轉送設定。

電子郵件轉送作業可讓管理員指定網域層級的電子郵件轉送設定。這與管理控制台的 Gmail 設定的電子郵件轉送功能類似。詳情請參閱電子郵件轉送電子郵件轉送功能的雙重傳送設定

Admin Settings API XML 要求和回應範例

本文件提供使用原始 XML 和 HTTP 的基本 Admin Settings API 要求與回應的程式碼範例。此網域預設語言範例會顯示要求和回應項目主體的完整 XML 和 HTTP 語法,這是每項作業常見的語言:

如要變更網域的外寄電子郵件閘道設定,請將 HTTP PUT 傳送至閘道動態消息網址:

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway

網域預設語言 PUT 要求 AtomPub entry XML 為:

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
  xmlns:apps='http://schemas.google.com/apps/2006'>
  <apps:property name='smartHost' value='smtp.out.domain.com' />
  <apps:property name='smtpMode' value='SMTP' />
</atom:entry>

除了作業專屬的屬性和值以外,atom:property 元素代表單一鍵/值組合,其中包含您要擷取或更新的屬性相關資訊。這些名稱適用於所有 Admin Settings API 要求主體。

網域預設語言回應 entry 元素會傳回 smartHostsmtpMode 屬性,以及所有 Admin Settings API 回應主體通用的 XML 語法:

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<id>https://apps-apis.google.com/a/feeds/domain/2.0/domainName/email/gateway</id>
<updated>2008-12-17T23:59:23.887Z</updated>
<link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
  2.0/domainName/email/gateway'/>
<link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
  2.0/domainName/email/gateway'/>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</entry>

管理單一登入設定

Google Workspace 單一登入功能 (SSO) 可讓使用者登入多項服務,只需輸入一次登入資訊與密碼一次。這組密碼是由網域的識別資訊提供者儲存,而非 Google Workspace。詳情請參閱說明中心的 SSO 頁面。以下各節將示範「單一登入」設定使用的 XML 格式。

正在擷取單一登入設定

如要擷取單一登入設定,請將 HTTP GET 傳送至 SSO 一般動態饋給網址,並加入 Authorization 標頭 (請參閱驗證管理設定服務的說明)。如果看到錯誤訊息,請參閱排解 SSO 問題

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general

這項作業在要求主體中沒有任何參數。

成功的回應會傳回 HTTP 200 OK 狀態碼,以及 AtomPub 動態饋給,以及網域的 SSO 設定。

GET 回應 XML 會傳回 samlSignonUrisamlLogoutUrichangePasswordUrienableSSOssoWhitelistuseDomainSpecificIssuer 屬性:

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
...
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='true'/>
<apps:property name='ssoWhitelist' value='CIDR formatted IP address'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>

屬性包括:

SAMLSignonUri
Google Workspace 傳送 SAML 要求以進行使用者驗證的識別資訊提供者網址。
SAMLLogoutUri
使用者登出網頁應用程式後前往的地址。
變更密碼 Uri
使用者變更網頁應用程式單一登入 (SSO) 密碼時前往的網址。
啟用單一登入 (SSO)
為這個網域啟用 SAML 式單一登入 (SSO) 服務。如果您先前已配置單一登入 (SSO) 設定,且隨後將 enableSSO 設為 enableSSO=false,系統會保留您先前輸入的設定。
SsoWhitelist
ssoWhitelist 是採用無類別跨網域路由 (CIDR) 格式的網路遮罩 IP 位址,ssoWhitelist 會決定哪些使用者可透過單一登入 (SSO) 服務登入,以及哪些使用者透過 Google Workspace 帳戶驗證頁面登入。如未指定遮罩,則所有使用者都會透過單一登入 (SSO) 服務登入。詳情請參閱網路遮罩的運作方式
useDomain 特定問題者
網域特定發行者可在向識別資訊提供者傳送 SAML 要求中使用。雖然大部分的單一登入 (SSO) 部署作業都不需要,但對於使用單一識別資訊提供者的大型機構來說,可利用多個子網域進行驗證,因此十分實用。提供特定網域核發者會決定與要求建立關聯的子網域。詳情請參閱 SAML 要求中的核發者元素如何運作?

如果要求因故失敗,則傳回不同的狀態碼。如要進一步瞭解 Google Data API 狀態碼,請參閱 HTTP 狀態碼

更新單一登入設定

如要更新網域的單一登入 (SSO) 設定,請先使用擷取單一登入設定作業擷取 SSO 設定,加以修改,然後將 PUT 要求傳送至 SSO 動態饋給網址。請確認更新項目中的 <id> 值與現有項目的 <id> 完全相符。按照驗證 Admin Settings API 服務的說明加入 Authorization 標頭。如有錯誤訊息,請參閱排解單一登入 (SSO) 問題

更新單一登入設定時,請將 HTTP PUT 傳送至 SSO 一般動態饋給網址:

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general

PUT 要求的 XML 主體為:

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='enableSSO' value='false' />
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon' />
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout' />
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword' />
<apps:property name='ssoWhitelist' value='127.0.0.1/32' />
<apps:property name='useDomainSpecificIssuer' value='false'/>
</atom:entry>

成功的回應會傳回 HTTP 200 OK 狀態碼,以及包含單一登入 (SSO) 設定的 AtomPub 動態饋給。

PUT 回應 XML 如下所示:

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='false'/>
<apps:property name='ssoWhitelist' value='127.0.0.1/32'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>

如果要求因故失敗,則傳回不同的狀態碼。如要進一步瞭解 Google Data API 狀態碼,請參閱 HTTP 狀態碼

擷取單一登入簽署金鑰

如要擷取單一登入簽署金鑰,請將 HTTP GET 傳送至 SSO 簽署金鑰動態饋給網址,並加入 Authorization 標頭 (如驗證管理設定服務所述)。如果看到錯誤訊息,請參閱排解 SSO 問題

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey

這項作業在要求主體中沒有任何參數。

成功的回應會傳回 HTTP 200 OK 狀態碼,以及包含簽署金鑰的 AtomPub 動態饋給。

GET 回應 XML 會傳回 signingKey 屬性:

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</entry>

如果要求因故失敗,則傳回不同的狀態碼。如要進一步瞭解 Google Data API 狀態碼,請參閱 HTTP 狀態碼

更新單一登入簽署金鑰

如要更新網域的單一登入 (SSO) 簽署金鑰,請先使用擷取單一登入簽署金鑰作業擷取簽署金鑰,加以修改,然後將 PUT 要求傳送至 SSO 簽署金鑰動態饋給網址。請確認更新項目中的 <id> 值與現有項目的 <id> 完全相符。如要進一步瞭解 SAML 式單一登入簽署金鑰,請參閱產生 Google Workspace 單一登入服務所需的金鑰和憑證

更新單一登入簽署金鑰時,請將 HTTP PUT 傳送至 SSO 簽署金鑰動態饋給網址:

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey

PUT 要求 XML 如下:

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</atom:entry>

管理電子郵件閘道和轉送

「外寄電子郵件閘道」部分會顯示 Admin Settings API 如何支援貴機構網域中使用者郵件的外送轉送。電子郵件轉送部分會顯示如何將郵件轉送至其他郵件伺服器。

擷取外寄電子郵件閘道設定

如要擷取外寄電子郵件閘道設定,請將 HTTP GET 傳送至閘道動態消息網址,並依照驗證管理設定服務的說明加入 Authorization 標頭:

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway

這項作業在要求主體中沒有任何參數。

成功的回應會傳回 HTTP 200 OK 狀態碼,以及含有電子郵件閘道狀態資訊的 AtomPub 動態饋給。

GET 回應會傳回 smartHostsmtpMode 屬性。如要進一步瞭解這些屬性,請參閱更新外寄電子郵件閘道設定

以下為可能的回應範例:

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='smartHost' value='smtpout.domain.com'/>
<apps:property name='smtpMode' value='SMTP'/>
</entry>

如果要求因故失敗,則傳回不同的狀態碼。如要進一步瞭解 Google Data API 狀態碼,請參閱 HTTP 狀態碼

更新外寄電子郵件閘道設定

如要更新網域的外寄電子郵件閘道設定,請將 HTTP PUT 要求傳送至閘道動態饋給網址:

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway

PUT 要求 XML 如下:

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>

要求屬性如下:

SmartHost
SMTP 伺服器的 IP 位址或主機名稱。Google Workspace 會將外寄郵件轉送至這個伺服器。
smtpMode
預設值為 SMTP。另一個值為 SMTP_TLS,會在傳送郵件時透過 TLS 保護連線。

成功的回應會傳回 HTTP 200 OK 狀態碼,以及 AtomPub 動態饋給,以及電子郵件閘道設定狀態。

如果要求因故失敗,則傳回不同的狀態碼。如要進一步瞭解 Google Data API 狀態碼,請參閱 HTTP 狀態碼

管理電子郵件轉送設定

首先,請建立 XML 要求:

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='routeDestination' value='route-smtp.domain.com'/>
<apps:property name='routeRewriteTo' value='true'/>
<apps:property name='routeEnabled' value='true'/>
<apps:property name='bounceNotifications' value='true'/>
<apps:property name='accountHandling' value='can be either allAccounts | provisionedAccounts | unknownAccounts'/>
</atom:entry>

要求屬性如下:

RouteDestination
這個目的地是 SMTP-In 郵件伺服器的主機名稱或 IP 位址,也就是電子郵件轉送目的地。必須為 Google 解析主機名稱或 IP 位址。如要進一步瞭解如何解析郵件主機名稱,請參閱電子郵件轉送功能測試 Google Workspace
routeRewriteTo
如果設為 true,系統會將郵件 SMTP 信封的 to: 欄位變更為目的地主機名稱 (<使用者>@<目的地> 的主機名稱),且郵件會傳送至目的地郵件伺服器上的這個使用者地址。如為 false,電子郵件會傳送至目的地郵件伺服器上原始郵件的 to: 電子郵件地址 (<使用者>@<原始名稱>)。這與管理控制台的「變更 SMTP 信封」設定類似。詳情請參閱電子郵件轉送的網域設定
已啟用路徑
如果設為 true,就會啟用電子郵件轉送功能。如果設為 false,這項功能會停用。
退信通知
如果設為 true,Google Workspace 便可在傳送失敗時傳送退件通知給寄件者。
操作

這項設定可以決定電子郵件轉送功能對網域中不同類型使用者的影響:

  • allAccounts:將所有電子郵件傳送至這個目的地。
  • provisionedAccounts:如果使用者已存在於 Google Workspace,則會將郵件傳送至這個目的地。
  • unknownAccounts:如果使用者不存在於 Google Workspace 中,則會將郵件傳送至這個目的地。 這與管理控制台的「電子郵件傳送時間」設定類似。如要進一步瞭解郵件轉送必要條件和郵件轉送功能,請參閱電子郵件轉送網域設定。 ~ 如要發布這項要求,請將 HTTP POST 傳送至電子郵件轉送動態饋給網址,並依照驗證管理設定服務的說明加入 Authorization 標頭:

https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/emailrouting

成功的回應會傳回 HTTP 200 OK 狀態碼,以及含有封存資訊的 AtomPub 動態饋給。

如果要求因故失敗,則傳回不同的狀態碼。如要進一步瞭解 Google Data API 狀態碼,請參閱 HTTP 狀態碼

端點將於 2018 年 10 月 31 日停用

我們在這份公告中淘汰了下列端點。 我們已於 2018 年 10 月 31 日停用,不再提供。

  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/defaultLanguage
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/organizationName
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/currentNumberOfUsers
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/maximumNumberOfUsers
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/supportPIN
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/customerPIN
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/adminSecondaryEmail
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/edition
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/creationTime
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/countryCode
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/appearance/customLogo
  • https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/verification/mx