Google Wallet API के लिए अनुरोधों की पुष्टि करें

Google Wallet API के अनुरोधों की पुष्टि की जानी चाहिए, ताकि Wallet API यह पहचान कर सके कि अनुरोध आपके ऐप्लिकेशन ने किया है.

शुरू करने से पहले, पक्का करें कि आपने Google Wallet REST API और Google Wallet Android SDK के लिए, अपने क्रेडेंशियल सही तरीके से जनरेट और रजिस्टर कर लिए हों.

Google Wallet REST API के अनुरोध

Google Wallet REST API के अनुरोध की पुष्टि, Google Wallet REST API की Google Cloud सेवा खाता कुंजी का इस्तेमाल करके की जाती है, ताकि ऐक्सेस टोकन मिल सके.

Google API क्लाइंट लाइब्रेरी पुष्टि करने और एपीआई अनुरोधों को मैनेज करने का काम करती है. पक्का करें कि आपने अपनी पसंदीदा प्रोग्रामिंग भाषा के लिए लाइब्रेरी इंस्टॉल की हो. इन उदाहरणों में, इन भाषाओं का इस्तेमाल किया गया है.

सबसे पहले, ज़रूरी लाइब्रेरी इंपोर्ट करें. साथ ही, सेवा खाते JSON के लिए कुछ वैरिएबल और सेव किए जाने वाले ऑब्जेक्ट को जारी करने वाले, क्लास, यूनीक उपयोगकर्ता, और ऑब्जेक्ट के आईडी तय करें.

Java

Java में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.google.api.client.googleapis.batch.BatchRequest;
import com.google.api.client.googleapis.batch.json.JsonBatchCallback;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.googleapis.json.GoogleJsonError;
import com.google.api.client.googleapis.json.GoogleJsonResponseException;
import com.google.api.client.http.*;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.walletobjects.*;
import com.google.api.services.walletobjects.model.*;
import com.google.auth.http.HttpCredentialsAdapter;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.auth.oauth2.ServiceAccountCredentials;
import java.io.*;
import java.security.interfaces.RSAPrivateKey;
import java.util.*;

/** Demo class for creating and managing Gift cards in Google Wallet. */
public class DemoGiftCard {
  /**
   * Path to service account key file from Google Cloud Console. Environment variable:
   * GOOGLE_APPLICATION_CREDENTIALS.
   */
  public static String keyFilePath;

  /** Service account credentials for Google Wallet APIs. */
  public static GoogleCredentials credentials;

  /** Google Wallet service client. */
  public static Walletobjects service;

  public DemoGiftCard() throws Exception {
    keyFilePath =
        System.getenv().getOrDefault("GOOGLE_APPLICATION_CREDENTIALS", "/path/to/key.json");

    auth();
  }

PHP

PHP में अपना इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

use Firebase\JWT\JWT;
use Google\Auth\Credentials\ServiceAccountCredentials;
use Google\Client as GoogleClient;
use Google\Service\Walletobjects;
use Google\Service\Walletobjects\DateTime;
use Google\Service\Walletobjects\Money;
use Google\Service\Walletobjects\LatLongPoint;
use Google\Service\Walletobjects\Barcode;
use Google\Service\Walletobjects\ImageModuleData;
use Google\Service\Walletobjects\LinksModuleData;
use Google\Service\Walletobjects\TextModuleData;
use Google\Service\Walletobjects\TranslatedString;
use Google\Service\Walletobjects\LocalizedString;
use Google\Service\Walletobjects\ImageUri;
use Google\Service\Walletobjects\Image;
use Google\Service\Walletobjects\GiftCardObject;
use Google\Service\Walletobjects\Message;
use Google\Service\Walletobjects\AddMessageRequest;
use Google\Service\Walletobjects\Uri;
use Google\Service\Walletobjects\GiftCardClass;

/** Demo class for creating and managing Gift cards in Google Wallet. */
class DemoGiftCard
{
  /**
   * The Google API Client
   * https://github.com/google/google-api-php-client
   */
  public GoogleClient $client;

  /**
   * Path to service account key file from Google Cloud Console. Environment
   * variable: GOOGLE_APPLICATION_CREDENTIALS.
   */
  public string $keyFilePath;

  /**
   * Service account credentials for Google Wallet APIs.
   */
  public ServiceAccountCredentials $credentials;

  /**
   * Google Wallet service client.
   */
  public Walletobjects $service;

  public function __construct()
  {
    $this->keyFilePath = getenv('GOOGLE_APPLICATION_CREDENTIALS') ?: '/path/to/key.json';

    $this->auth();
  }

Python

Python में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

import json
import os
import uuid

from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google.oauth2.service_account import Credentials
from google.auth import jwt, crypt


class DemoGiftCard:
    """Demo class for creating and managing Gift cards in Google Wallet.

    Attributes:
        key_file_path: Path to service account key file from Google Cloud
            Console. Environment variable: GOOGLE_APPLICATION_CREDENTIALS.
        base_url: Base URL for Google Wallet API requests.
    """

    def __init__(self):
        self.key_file_path = os.environ.get('GOOGLE_APPLICATION_CREDENTIALS',
                                            '/path/to/key.json')
        # Set up authenticated client
        self.auth()

C#

C# में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

using System.IdentityModel.Tokens.Jwt;
using System.Net.Http.Headers;
using System.Text.RegularExpressions;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Walletobjects.v1;
using Google.Apis.Walletobjects.v1.Data;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;


/// <summary>
/// Demo class for creating and managing Gift cards in Google Wallet.
/// </summary>
class DemoGiftCard
{
  /// <summary>
  /// Path to service account key file from Google Cloud Console. Environment
  /// variable: GOOGLE_APPLICATION_CREDENTIALS.
  /// </summary>
  public static string keyFilePath;

  /// <summary>
  /// Service account credentials for Google Wallet APIs
  /// </summary>
  public static ServiceAccountCredential credentials;

  /// <summary>
  /// Google Wallet service client
  /// </summary>
  public static WalletobjectsService service;

  public DemoGiftCard()
  {
    keyFilePath = Environment.GetEnvironmentVariable(
        "GOOGLE_APPLICATION_CREDENTIALS") ?? "/path/to/key.json";

    Auth();
  }

Node.js

नोड में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

const { google } = require('googleapis');
const jwt = require('jsonwebtoken');
const { v4: uuidv4 } = require('uuid');

/**
 * Demo class for creating and managing Gift cards in Google Wallet.
 */
class DemoGiftCard {
  constructor() {
    /**
     * Path to service account key file from Google Cloud Console. Environment
     * variable: GOOGLE_APPLICATION_CREDENTIALS.
     */
    this.keyFilePath = process.env.GOOGLE_APPLICATION_CREDENTIALS || '/path/to/key.json';
    this.auth();
  }

शुरू करें

Go में अपना इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे पूरे कोड सैंपल देखें GitHub पर कोड सैंपल.

package main

import (
	"bytes"
	"context"
	"encoding/json"
	"fmt"
	"github.com/golang-jwt/jwt"
	"github.com/google/uuid"
	"golang.org/x/oauth2"
	"golang.org/x/oauth2/google"
	oauthJwt "golang.org/x/oauth2/jwt"
	"google.golang.org/api/option"
	"google.golang.org/api/walletobjects/v1"
	"io"
	"log"
	"os"
	"strings"
)

इसके बाद, Google Wallet API को कॉल करने के लिए ज़रूरी क्रेडेंशियल वापस पाने के लिए, किसी एक फ़्रेमवर्क लाइब्रेरी का इस्तेमाल करें.

Java

Java में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

/**
 * Create authenticated HTTP client using a service account file.
 *
 */
public void auth() throws Exception {
  credentials =
      GoogleCredentials.fromStream(new FileInputStream(keyFilePath))
          .createScoped(List.of(WalletobjectsScopes.WALLET_OBJECT_ISSUER));
  credentials.refresh();

  HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();

  // Initialize Google Wallet API service
  service =
      new Walletobjects.Builder(
              httpTransport,
              GsonFactory.getDefaultInstance(),
              new HttpCredentialsAdapter(credentials))
          .setApplicationName("APPLICATION_NAME")
          .build();
}

PHP

PHP में अपना इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

/**
 * Create authenticated HTTP client using a service account file.
 */
public function auth()
{
  $this->credentials = new ServiceAccountCredentials(
    Walletobjects::WALLET_OBJECT_ISSUER,
    $this->keyFilePath
  );

  // Initialize Google Wallet API service
  $this->client = new GoogleClient();
  $this->client->setApplicationName('APPLICATION_NAME');
  $this->client->setScopes(Walletobjects::WALLET_OBJECT_ISSUER);
  $this->client->setAuthConfig($this->keyFilePath);

  $this->service = new Walletobjects($this->client);
}

Python

Python में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

def auth(self):
    """Create authenticated HTTP client using a service account file."""
    self.credentials = Credentials.from_service_account_file(
        self.key_file_path,
        scopes=['https://www.googleapis.com/auth/wallet_object.issuer'])

    self.client = build('walletobjects', 'v1', credentials=self.credentials)

C#

C# में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

/// <summary>
/// Create authenticated service client using a service account file.
/// </summary>
public void Auth()
{
  credentials = (ServiceAccountCredential)GoogleCredential
      .FromFile(keyFilePath)
      .CreateScoped(new List<string>
      {
        WalletobjectsService.ScopeConstants.WalletObjectIssuer
      })
      .UnderlyingCredential;

  service = new WalletobjectsService(
      new BaseClientService.Initializer()
      {
        HttpClientInitializer = credentials
      });
}

Node.js

नोड में इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे सभी कोड सैंपल देखें.

/**
 * Create authenticated HTTP client using a service account file.
 */
auth() {
  const auth = new google.auth.GoogleAuth({
    keyFile: this.keyFilePath,
    scopes: ['https://www.googleapis.com/auth/wallet_object.issuer'],
  });

  this.credentials = require(this.keyFilePath);

  this.client = google.walletobjects({
    version: 'v1',
    auth: auth,
  });
}

शुरू करें

Go में अपना इंटिग्रेशन शुरू करने के लिए, GitHub पर हमारे पूरे कोड सैंपल देखें GitHub पर कोड सैंपल.

// Create authenticated HTTP client using a service account file.
func (d *demoGiftcard) auth() {
	credentialsFile := os.Getenv("GOOGLE_APPLICATION_CREDENTIALS")
	b, _ := os.ReadFile(credentialsFile)
	credentials, err := google.JWTConfigFromJSON(b, walletobjects.WalletObjectIssuerScope)
	if err != nil {
		fmt.Println(err)
		log.Fatalf("Unable to load credentials: %v", err)
	}
	d.credentials = credentials
	d.service, _ = walletobjects.NewService(context.Background(), option.WithCredentialsFile(credentialsFile))
}

Google Wallet के Android SDK टूल से जुड़े अनुरोध

Google Wallet के Android SDK टूल का इस्तेमाल करने वाले अनुरोधों की पुष्टि, आपके ऐप्लिकेशन साइनिंग सर्टिफ़िकेट का इस्तेमाल करके अपने-आप हो जाती है. Android SDK आपके साइनिंग सर्टिफ़िकेट का SHA-1 फ़िंगरप्रिंट अपने-आप बना देगा और उसे Google Wallet API के अनुरोधों के साथ शामिल कर देगा.

अपने ऐप्लिकेशन साइनिंग सर्टिफ़िकेट का SHA-1 फ़िंगरप्रिंट जनरेट और रजिस्टर करने के बारे में ज़्यादा जानकारी के लिए, अपने ऐप्लिकेशन को Google Wallet के Android SDK टूल के लिए अनुमति देना लेख पढ़ें.