طلبات البيانات من واجهة برمجة التطبيقات

بعد إعداد مشروعك لتحديد التبعيات الخاصة بمكتبة عملاء Google APIs للغة Java، اتّبِع الخطوات التالية لإرسال طلب. تستخدم المقتطفات في هذه الصفحة الإصدار 3 من Cloud Resource Manager API.

الخطوة 1: المصادقة

إنشاء مثيل com.google.auth.oauth2.GoogleCredentials للفئة. بالنسبة إلى مستخدمي Google Cloud، يمكنك استخدام GoogleCredentials.getApplicationDefault() للحصول على بيانات الاعتماد التلقائية للتطبيق.

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

لمزيد من المعلومات عن المصادقة، يُرجى الرجوع إلى Google Auth Library Java.

الخطوة 2: إنشاء مثيل لفئة الخدمة

تتضمّن خدمة Google إصدارًا واحدًا أو أكثر. يمثّل فئة الخدمة إصدارًا من الخدمة، وهي فئة فرعية من AbstractGoogleJsonClient. على سبيل المثال com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.

تتطلّب فئة أداة الإنشاء لفئة الخدمة 3 مَعلمات:

يجب أيضًا استدعاء طريقة setApplicationName() الخاصة بأداة الإنشاء مع اسم التطبيق. يضبط ذلك عنوان UserAgent باسم التطبيق، وهو أمر مفيد في تحديد المشاكل وحلّها باستخدام السجلات.

يبدو الرمز على النحو التالي:

HttpTransport transport = new NetHttpTransport();
JsonFactory 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: إنشاء عنصر طلب

يتم تمثيل العمليات التي يتم إجراؤها على عنصر المورد كفئات طلب. تعتمد العمليات المتاحة على فئة المورد. على سبيل المثال، يحتوي صف الموارد الذي يوفّر طرق "إنشاء" و"الحصول" و "الحذف" على صفوف طلبات "إنشاء" و"الحصول" و "الحذف" على التوالي.

بالنسبة إلى مثال Cloud Resource Manager، يمكنك إنشاء كائن طلب Get من خلال استدعاء الطريقة projects.get:

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

الخطوة 5: تنفيذ الطلب

يحتوي عنصر الطلب على الطريقة execute() التي تنفّذ الطلب. ينفّذ هذا الاستدعاء طلب HTTP إلى خدمة Google ويزيل تسلسل استجابة JSON إلى فئة نموذجية. على سبيل المثال، يعرض الإجراء execute() لكائن طلب Get كائن Project:

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

ملخّص

باتّباع هذه الخطوات، يمكنك إرسال طلبات باستخدام Google APIs Client Library للغة Java. في ما يلي مقتطف الرمز الذي يجمع كل الخطوات باستخدام خدمة Resource Manager.

package com.example;

import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
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();

    HttpTransport transport = new NetHttpTransport();
    JsonFactory 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());
  }
}