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

بعد إعداد مشروعك للإعلان عن التبعيات لمكتبة برامج 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 مع اسم التطبيق ويساعد في تحديد المشاكل وحلّها باستخدام السجلات.

يبدو الرمز كما يلي:

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: إنشاء كائن طلب

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

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

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

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

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

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

ملخّص

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

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