API অনুরোধ

একবার আপনি জাভার জন্য আপনার Google API ক্লায়েন্ট লাইব্রেরির নির্ভরতা ঘোষণা করার জন্য আপনার প্রকল্প সেট আপ করার পরে, একটি অনুরোধ করতে এই পদক্ষেপগুলি অনুসরণ করুন৷ এই পৃষ্ঠার স্নিপেটগুলি ক্লাউড রিসোর্স ম্যানেজার API-এর v3 ব্যবহার করে৷

ধাপ 1: প্রমাণীকরণ

Instantiate com.google.auth.oauth2.GoogleCredentials উদাহরণ। Google ক্লাউড ব্যবহারকারীদের জন্য, আপনি অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র পেতে GoogleCredentials.getApplicationDefault() ব্যবহার করতে পারেন।

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

প্রমাণীকরণ সম্পর্কে আরও তথ্যের জন্য, Google Auth Library Java পড়ুন।

ধাপ 2: তাত্ক্ষণিক পরিষেবা ক্লাস

একটি Google পরিষেবার এক বা একাধিক সংস্করণ রয়েছে৷ একটি পরিষেবা শ্রেণী একটি পরিষেবার একটি সংস্করণ উপস্থাপন করে এবং এটি AbstractGoogleJsonClient- এর একটি চাইল্ড ক্লাস। উদাহরণস্বরূপ com.google.api.services.cloudresourcemanager.v3.CloudResourceManager

সার্ভিস ক্লাসের বিল্ডার ক্লাস 3টি প্যারামিটার নেয়:

এছাড়াও আপনার অ্যাপ্লিকেশন নামের সাথে নির্মাতার setApplicationName() পদ্ধতিতে কল করুন। এটি ব্যবহারকারীর এজেন্ট শিরোনামটিকে অ্যাপ্লিকেশন নামের সাথে সেট করে এবং লগের সাথে সমস্যা সমাধানের জন্য সহায়ক।

কোডটি এর মত দেখাচ্ছে:

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();

ধাপ 3: একটি রিসোর্স অবজেক্ট তৈরি করুন

একটি সংস্থান শ্রেণী একটি পরিষেবা দ্বারা পরিচালিত সম্পদের একটি প্রকারের প্রতিনিধিত্ব করে। ক্লাসটিকে সার্ভিস ক্লাসের অভ্যন্তরীণ শ্রেণী হিসাবে সংজ্ঞায়িত করা হয়। আপনি পরিষেবা ক্লাসের পদ্ধতিগুলি ব্যবহার করে সেগুলি অ্যাক্সেস করতে পারেন।

উদাহরণস্বরূপ, আপনি CloudResourceManager ক্লাসের "প্রকল্প" সংস্থান পেতে পারেন:

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

...

Projects projects = cloudResourceManager.projects();

ধাপ 4: একটি অনুরোধ অবজেক্ট করুন

রিসোর্স অবজেক্টের বিরুদ্ধে ক্রিয়াকলাপগুলিকে অনুরোধ ক্লাস হিসাবে উপস্থাপন করা হয়। উপলব্ধ ক্রিয়াকলাপ সম্পদ শ্রেণীর উপর নির্ভর করে। উদাহরণস্বরূপ, একটি রিসোর্স ক্লাস যা "তৈরি", "পান" এবং "মুছে ফেলুন" পদ্ধতিগুলি প্রদান করে যথাক্রমে "তৈরি করুন", "পান" এবং "মুছুন" অনুরোধের ক্লাস ধারণ করে।

ক্লাউড রিসোর্স ম্যানেজারের উদাহরণের জন্য, আপনি projects.get পদ্ধতিতে কল করে Get request অবজেক্ট তৈরি করতে পারেন:

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

ধাপ 5: অনুরোধটি কার্যকর করুন

একটি অনুরোধ বস্তুর execute() পদ্ধতি রয়েছে যা অনুরোধ চালায়। এই কলটি Google পরিষেবাতে একটি HTTP অনুরোধ কার্যকর করে এবং একটি মডেল ক্লাসে JSON প্রতিক্রিয়াকে ডিসিরিয়ালাইজ করে। উদাহরণস্বরূপ, Get request অবজেক্টের execute() পদ্ধতি একটি প্রজেক্ট অবজেক্ট রিটার্ন করে:

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

সারসংক্ষেপ

এই পদক্ষেপগুলির সাথে, আপনি জাভার জন্য Google APIs ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অনুরোধ করতে পারেন। এখানে কোড স্নিপেট যা রিসোর্স ম্যানেজার পরিষেবা ব্যবহার করে সমস্ত ধাপ একত্রিত করে।

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());
  }
}