Google Pay API for Passes を使用すると、Google Pay アプリ内でポイントカード、ギフトカード、クーポン、イベント チケット、搭乗券、乗車券を追加し、管理できます。まず、プロジェクトを登録し、そのプロジェクトを Google Pay API for Passes Merchant Center に関連付けてから、お使いのウェブサービスを OAuth 2.0 用に設定します。
Google API にアクセスする、すべてのアプリケーションを API Console で登録する必要があります。この登録プロセスを行うと、お使いのアプリケーションと Google のみが参照できる一連の値(クライアント ID、メールアドレス、秘密鍵)が作成されます。アプリケーションを登録するには、次のようにします。
警告: 秘密鍵は、開発環境と本番環境両方のためにご自身で安全に保管、管理する必要があります。Google で保管するのは、公開鍵のコピーのみです。サービス アカウントの秘密鍵を管理する方法については、こちらをご覧ください。
お使いの Google Pay API for Passes アカウントは、Google の担当者が作成しているはずです。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 間など、サーバー間のインタラクションをサポートしています。リクエスト元のアプリケーションは、エンドユーザーによる介入なしに、自身の ID を証明して 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 Console から生成したサービス アカウントのメールアドレスを使用します。scope フィールドは、アプリケーションがリクエストする権限のスペース区切りリストです。 https://www.googleapis.com/auth/wallet_object.issuer です。