دليل البدء السريع لـ Java للمورِّدين

اتبع الخطوات الواردة في دليل البدء السريع هذا، وفي حوالي 10 دقائق سيتوفر لديك تطبيق سطر أوامر جافا بسيط يقدم طلبات إلى واجهة برمجة تطبيقات مورد برنامج "إعداد الأجهزة الجوّالة للمؤسسات دفعةً واحدة".

المتطلبات الأساسية

لتنفيذ هذا التشغيل السريع، ستحتاج إلى:

  • حساب Google، وهو عضو في حساب مورّد "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة". إذا لم يسبق لك الانضمام، يمكنك اتّباع الخطوات الواردة في البدء في دليل بوابة المورّدين.
  • الإصدار 1.7 أو الإصدارات الأحدث من جافا.
  • Gradle 2.3 أو إصدار أحدث.
  • الدخول إلى الإنترنت ومتصفح الويب.

الخطوة 1: تفعيل واجهة برمجة التطبيقات لبرنامج "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة"

  1. يمكنك استخدام هذا المعالج لإنشاء مشروع أو اختياره في Google Developers Console وتفعيل واجهة برمجة التطبيقات تلقائيًا. انقر على متابعة، ثم الانتقال إلى بيانات الاعتماد.
  2. اضبط ما البيانات التي ستصل إليها؟ على بيانات التطبيق.
  3. انقر على التالي. من المفترض أن يُطلب منك إنشاء حساب خدمة.
  4. أدخِل اسمًا وصفيًا لاسم حساب الخدمة.
  5. يُرجى ملاحظة رقم تعريف حساب الخدمة (يبدو مثل عنوان البريد الإلكتروني) لأنك ستستخدمه لاحقًا.
  6. اضبط الدور على حسابات الخدمة > مستخدم حساب الخدمة.
  7. انقر على تم للانتهاء من إنشاء حساب الخدمة.
  8. انقر على عنوان البريد الإلكتروني لحساب الخدمة الذي أنشأته.
  9. انقر على **مفاتيح**.
  10. انقر على **إضافة مفتاح**، ثم انقر على **إنشاء مفتاح جديد**.
  11. بالنسبة إلى **نوع المفتاح**، اختَر **JSON**.
  12. انقر على إنشاء ليتم تنزيل المفتاح الخاص إلى جهاز الكمبيوتر.
  13. انقر على **إغلاق**.
  14. انقل الملف إلى دليل العمل وأعد تسميته service_account_key.json.
  1. افتح بوابة برنامج "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة". وقد تحتاج تسجيل الدخول.
  2. انقر على حسابات الخدمة.
  3. انقر على ربط حساب الخدمة.
  4. اضبط عنوان البريد الإلكتروني على عنوان حساب الخدمة الذي أنشأته.
  5. انقر على ربط حساب الخدمة لاستخدام حساب الخدمة من خلال حساب "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة".

الخطوة 3: إعداد المشروع

اتبع الخطوات أدناه لإعداد مشروع Gradle:

  1. شغّل الأمر التالي لإنشاء مشروع جديد في دليل العمل:

    gradle init --type basic
    mkdir -p src/main/java src/main/resources
    
  2. انسخ ملف service_account_key.json الذي نزّلته في الخطوة 1 إلى دليل src/main/resources/ الذي أنشأته أعلاه.

  3. افتح ملف build.gradle التلقائي واستبدل محتوياته بالرمز التالي:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ResellerQuickstart'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.30.11'
        compile 'com.google.apis:google-api-services-androiddeviceprovisioning:+'
        compile 'com.google.oauth-client:google-oauth-client-jetty:+'
    }
    

الخطوة 4: إعداد النموذج

أنشئ ملفًا باسم src/main/java/ResellerQuickstart.java وانسخ الرمز التالي واحفظ الملف. أدرِج رقم تعريف الشريك للمورّد كقيمة لـ PARTNER_ID (السطر الأول من التطبيق).

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.androiddeviceprovisioning.v1.AndroidProvisioningPartner;
import com.google.api.services.androiddeviceprovisioning.v1.model.Company;
import com.google.api.services.androiddeviceprovisioning.v1.model.ListCustomersResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;

/**
 * This class forms the quickstart introduction to the zero-touch enrollemnt
 * reseller API.
 */
public class ResellerQuickstart {

  // TODO: replace this with your partner reseller ID.
  private static long PARTNER_ID = 11036885;

  // Use a single scope for the all methods in the reseller API.
  private static final List<String> SCOPES =
      Arrays.asList("https://www.googleapis.com/auth/androidworkprovisioning");
  private static final String APP_NAME = "Zero-touch Reseller Java Quickstart";

  // Global shared instances.
  private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
  private static HttpTransport HTTP_TRANSPORT;

  static {
    try {
      HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
    } catch (Throwable t) {
      t.printStackTrace();
      System.exit(1);
    }
  }

  /**
   * Creates a Credential object with the correct OAuth2 authorization
   * for the service account that calls the reseller API. The service
   * endpoint invokes this method when setting up a new service instance.
   * @return an authorized Credential object.
   * @throws IOException
   */
  public static Credential authorize() throws IOException {
      // Load the service account key from the JSON file.
      InputStream in =
          ResellerQuickstart.class.getResourceAsStream("/service_account_key.json");

      // Create the credential scoped to the zero-touch enrollemnt
      // reseller APIs.
      GoogleCredential credential = GoogleCredential
         .fromStream(in)
         .createScoped(SCOPES);
      return credential;
  }

  /**
   * Builds and returns an authorized zero-touch enrollment API client service.
   * Use the service endpoint to call the API methods.
   * @return an authorized client service endpoint
   * @throws IOException
   */
  public static AndroidProvisioningPartner getService() throws IOException {
    Credential credential = authorize();
    return new AndroidProvisioningPartner.Builder(
        HTTP_TRANSPORT, JSON_FACTORY, credential)
        .setApplicationName(APP_NAME)
        .build();
  }

  /**
   * Runs the zero-touch enrollment quickstart app.
   * @throws IOException
   */
  public static void main(String[] args) throws IOException {

    // Create a zero-touch enrollment API service endpoint.
    AndroidProvisioningPartner service = getService();

    // Send an API request to list all our customers.
    AndroidProvisioningPartner.Partners.Customers.List request =
          service.partners().customers().list(PARTNER_ID);
    ListCustomersResponse response = request.execute();

    // Print out the details of each customer.
    if (response.getCustomers() != null) {
      java.util.List<Company> customers = response.getCustomers();
      for (Company customer : customers) {
          System.out.format("Name:%s  ID:%d\n",
                customer.getCompanyName(),
                customer.getCompanyId());
      }
    } else {
      System.out.println("No customers found");
    }
  }
}

معرِّف الشريك

تحتاج طلبات البيانات من واجهة برمجة التطبيقات عادةً إلى معرّف شريك المورّد كوسيطة. للعثور على رقم تعريف الشريك من بوابة "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة"، يُرجى اتّباع الخطوات التالية:

  1. افتح البوابة. وقد تحتاج تسجيل الدخول.
  2. انقر على حسابات الخدمة.
  3. انسخ رقم تعريف الشريك من السطر رقم تعريف المورّد.

الخطوة الخامسة: تنفيذ النموذج

استخدم مساعدة نظام التشغيل لتشغيل النص البرمجي في الملف. على أجهزة الكمبيوتر التي تعمل بنظامي التشغيل UNIX وMac، شغّل الأمر أدناه في الوحدة الطرفية:

gradle -q run

تحديد المشاكل وحلّها

أخبرنا بالمشكلة التي حدثت في ميزة البدء السريع وسنعمل على إصلاحها. لمعرفة كيفية استخدام برنامج "إعداد الأجهزة الجوّالة للمؤسسات دفعةً واحدة" لحسابات الخدمة للسماح باستدعاءات واجهة برمجة التطبيقات، يُرجى قراءة التفويض.

مزيد من المعلومات