एपीआई अनुरोध

अपने प्रोजेक्ट को Java के लिए अपने Google API की क्लाइंट लाइब्रेरी के लिए निर्भरता की जानकारी देने के लिए सेट अप करने के बाद, अनुरोध करने के लिए यह तरीका अपनाएं. इस पेज पर मौजूद स्निपेट, Cloud Resource Manager API के वर्शन 3 का इस्तेमाल करते हैं.

पहला चरण: पुष्टि करना

इंस्टेंस com.google.auth.oauth2.GoogleCredentials इंस्टेंस बनाएं. Google Cloud के उपयोगकर्ता, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल पाने के लिए, GoogleCredentials.getApplicationDefault() का इस्तेमाल कर सकते हैं.

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

पुष्टि करने के बारे में ज़्यादा जानकारी के लिए, Google Auth Library Java देखें.

दूसरा चरण: इंस्टैंशिएट सर्विस क्लास

Google की किसी सेवा के एक या उससे ज़्यादा वर्शन होते हैं. सेवा की क्लास, सेवा के वर्शन के बारे में बताती है और यह AbstractGoogleJsonClient की चाइल्ड क्लास होती है. उदाहरण के लिए, com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.

सेवा क्लास की बिल्डर क्लास में तीन पैरामीटर इस्तेमाल होते हैं:

साथ ही, बिल्डर के setApplicationName() तरीके को अपने ऐप्लिकेशन नाम के साथ कॉल करें. यह UserAgent हेडर को ऐप्लिकेशन के नाम के साथ सेट करता है और लॉग की समस्या को हल करने में मदद करता है.

कोड ऐसा दिखता है:

NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
GsonFactory jsonFactory = GsonFactory.getDefaultInstance();
CloudResourceManager.Builder resourceManagerBuilder =
    new CloudResourceManager.Builder(
        transport, jsonFactory, new HttpCredentialsAdapter(credentials))
        .setApplicationName("Example Java App");
CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();

तीसरा चरण: संसाधन ऑब्जेक्ट बनाना

संसाधन क्लास, किसी सेवा से मैनेज किए जाने वाले संसाधन का टाइप दिखाती है. क्लास को सेवा क्लास की इनर क्लास के तौर पर बताया जाता है. उन्हें सर्विस क्लास में दिए गए तरीकों से ऐक्सेस किया जा सकता है.

उदाहरण के लिए, आपको CloudResourceManager क्लास का "प्रोजेक्ट" संसाधन मिल सकता है:

import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;

...

Projects projects = cloudResourceManager.projects();

चौथा चरण: अनुरोध का ऑब्जेक्ट बनाना

रिसॉर्स ऑब्जेक्ट पर की गई कार्रवाइयां, अनुरोध की क्लास के तौर पर दिखाई जाती हैं. उपलब्ध कार्रवाइयां, संसाधन की क्लास पर निर्भर करती हैं. उदाहरण के लिए, "create", "get", और "delete" तरीके देने वाली रिसॉर्स क्लास में, "Create", "Get", और "Delete" अनुरोध क्लास शामिल हैं.

क्लाउड रिसॉर्स मैनेजर के उदाहरण के लिए, projects.get तरीके को कॉल करके 'अनुरोध पाएं' ऑब्जेक्ट बनाया जा सकता है:

Get get = projects.get("projects/your-project-id");

पांचवां चरण: अनुरोध पर कार्रवाई करना

अनुरोध ऑब्जेक्ट में, execute() तरीके से अनुरोध किया जाता है. यह कॉल, Google की सेवा के लिए एचटीटीपी अनुरोध करता है. साथ ही, मॉडल क्लास में JSON रिस्पॉन्स को वापस शुरू करता है. उदाहरण के लिए, 'अनुरोध पाएं' ऑब्जेक्ट का execute() तरीका, प्रोजेक्ट ऑब्जेक्ट दिखाता है:

Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());

खास जानकारी

इन चरणों की मदद से, आप Java के लिए Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके अनुरोध कर सकते हैं. यहां एक कोड स्निपेट दिया गया है, जिसमें संसाधन मैनेजर सेवा का इस्तेमाल करने के सभी चरणों को जोड़ा गया है.

package com.example;

import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager;
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects.Get;
import com.google.api.services.cloudresourcemanager.v3.model.Project;
import com.google.auth.http.HttpCredentialsAdapter;
import com.google.auth.oauth2.GoogleCredentials;

public class ResourceManagerSample {
  public static void main(String[] arguments) throws Exception {
    GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

    NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
    GsonFactory jsonFactory = GsonFactory.getDefaultInstance();
    CloudResourceManager.Builder resourceManagerBuilder =
        new CloudResourceManager.Builder(
            transport, jsonFactory, new HttpCredentialsAdapter(credentials))
            .setApplicationName("Example Java App");
    CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();

    Projects projects = cloudResourceManager.projects();

    Get get = projects.get("projects/your-project-id");

    Project project = get.execute();
    System.out.println("Project display name: " + project.getDisplayName());
  }
}