有了 Google Pay API for Passes,使用者就能在 Google Pay 應用程式中新增及管理會員卡、儲值卡、優惠、活動票券、登機證和大眾運輸票證。如要開始使用這個 API,請先註冊您的專案,將專案連結至 Google Pay API for Passes Merchant Center,然後針對 OAuth 2.0 設定網路服務。
凡是要存取 Google API 的應用程式,都必須透過 API 控制台註冊。註冊後會產生一組值,只有 Google 和您的應用程式知道這項資訊 (包括用戶端 ID、電子郵件地址和私密金鑰)。如要註冊應用程式:
警告:您必須為開發人員和正式版環境妥善儲存及管理私密金鑰。Google 只會儲存公開金鑰的副本。如要進一步瞭解如何管理服務帳戶私密金鑰,請參閱這篇文章。
您的 Google 聯絡窗口應已為您建立 Google Pay API for Passes 帳戶。您可以透過 Google Pay API for Passes Merchant Center 網站管理您的帳戶和所有相關類別與物件。請按照下列步驟操作,將服務帳戶連結至 Google Pay API for Passes Merchant Center:
@<your_domain>.iam.gserviceaccount.com),然後將其貼入 Invite people 欄位。Google OAuth 2.0 驗證支援伺服器對伺服器的互動行為,例如網路應用程式和 Google Cloud Storage 之間的互動。發出要求的應用程式必須證明其身分才能存取 API,而且使用者不需要採取任何行動。
您必須取得存取憑證來授權您的 API 要求。強烈建議您使用用戶端程式庫來簡化程序。
下列分頁標籤提供相關的程式碼範例,讓您瞭解如何使用不同語言建立服務帳戶憑證:
GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountId("ServiceAccountEmail@developer.gserviceaccount.com") .setServiceAccountScopes("https://www.googleapis.com/auth/wallet_object.issuer") .setServiceAccountPrivateKey(new File("/example/path/to/privatekey.json")) .build();
$client = new Google_Client(); $client->setApplicationName('Wallet Objects App'); $client->setScopes(array('https://www.googleapis.com/auth/wallet_object.issuer')); $client->setAuthConfigFile('/example/path/to/privatekey.json');
file_path = '/example/path/to/privatekey.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( file_path, 'https://www.googleapis.com/auth/wallet_object.issuer') http = httplib2.Http() http = credentials.authorize(http)
執行 REST API 指令時 (例如插入類別),您必須使用產生的憑證。
請參閱針對伺服器對伺服器應用程式使用 OAuth 2.0 一文來手動取得存取憑證。您必須建立 JSON Web Token (JWT) 並使用私密金鑰進行簽署,然後以適當的格式建立存取憑證要求。建立要求後,您的應用程式會向 Google OAuth 2.0 授權伺服器傳送憑證要求,接著伺服器會傳回存取憑證。您的應用程式必須先收到存取憑證才能存取 API。存取憑證到期時,應用程式必須重複這個程序。
iss 欄位使用的服務帳戶電子郵件地址,是您在註冊應用程式一節中透過 Google API 控制台產生的地址。scope 欄位為應用程式所要求權限的清單,其中各權限以空格分隔。 https://www.googleapis.com/auth/wallet_object.issuer。