لمحة سريعة للعملاء حول NET.

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

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

لتنفيذ دليل البدء السريع هذا، ستحتاج إلى ما يلي:

  • حساب Google، وهو عضو في حساب العميل المُستخدَم في "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة". اطّلِع على حسابات العملاء.
  • إصدار Visual Studio 2013 أو إصدار أحدث.
  • إمكانية الوصول إلى الإنترنت ومتصفح الويب

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

  1. يمكنك استخدام هذا المعالج لإنشاء مشروع أو اختياره في Google Play Console وتفعيل واجهة برمجة التطبيقات تلقائيًا. انقر على متابعة، ثم الانتقال إلى بيانات الاعتماد .
  2. انقر على إلغاء في القسم "إنشاء بيانات اعتماد".
  3. في أعلى الصفحة، انقر على علامة التبويب شاشة موافقة OAuth. اختَر عنوان بريد إلكتروني، وأدخِل اسم المنتج إذا لم يسبق لك إجراء ذلك، ثم انقر على الزر حفظ.
  4. اختَر علامة التبويب بيانات الاعتماد وانقر على الزر إنشاء بيانات اعتماد واختَر معرِّف عميل OAuth.
  5. اختَر نوع التطبيق غير ذلك، وأدخِل الاسم "البدء السريع"، ثم انقر على الزر إنشاء.
  6. انقر على حسنًا لإغلاق لوحة عميل OAuth.
  7. انقر على تنزيل JSON.
  8. انقل الملف إلى دليل العمل وأعِد تسميته إلى client_secret.json.

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

  1. أنشِئ مشروعًا جديدًا في تطبيق Console يتضمّن بروتوكول NET Core C# في "الاستوديو المرئي".
  2. افتح "أداة إدارة الحِزم" واختَر مصدر الحزمة nuget.org، ثم أضِف الحزم التالية:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

لمعرفة المزيد من المعلومات، يُرجى الاطّلاع على مستند Microsoft تثبيت حزمة واستخدامها.

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

  1. اسحب client_secret.json (التي تم تنزيلها في الخطوة 1) إلى مستكشف الحلول في Visual Studio.
  2. اختَر client_secret.json، ثم انتقِل إلى نافذة الخصائص واضبط حقل النسخ إلى دليل الإخراج على النسخ دائمًا.
  3. يُرجى استبدال محتوى Program.cs بالرمز التالي:
using Google.Apis.AndroidProvisioningPartner.v1;
using Google.Apis.AndroidProvisioningPartner.v1.Data;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;

namespace ZeroTouchCustomerQuickstart
{
    class Program
    {
        // A single scope is used for the zero-touch enrollment customer API.
        static readonly string[] Scopes =
            { "https://www.googleapis.com/auth/androidworkzerotouchemm" };
        static string ApplicationName = "Zero-touch Enrollment .NET Quickstart";

        static void Main(string[] args)
        {
            UserCredential credential;

            // Ask the user to authorize the request using their Google Account
            // in their browser.
            using (var stream =
                new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
            {
                string credPath = System.Environment.GetFolderPath(
                    System.Environment.SpecialFolder.Personal);
                credPath = Path.Combine(credPath, ".credentials/zero-touch.quickstart.json");

                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.FromStream(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
            }

            // Create a zero-touch enrollment API service endpoint.
            var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName
            });

            // Get the customer's account. Because a customer might have more
            // than one, limit the results to the first account found.
            CustomersResource.ListRequest accountRequest = service.Customers.List();
            accountRequest.PageSize = 1;
            CustomerListCustomersResponse accountResponse = accountRequest.Execute();
            if (accountResponse.Customers.Count == 0)
            {
                // No accounts found for the user. Confirm the Google Account
                // that authorizes the request can access the zero-touch portal.
                Console.WriteLine("No zero-touch enrollment account found.");
                Environment.Exit(-1);
            }
            Company customer = accountResponse.Customers[0];
            var customerAccount = String.Format("customers/{0}", customer.CompanyId);


            // Send an API request to list all the DPCs available.
            CustomersResource.DpcsResource.ListRequest request = service.Customers.Dpcs.
                List(customerAccount);
            CustomerListDpcsResponse response = request.Execute();

            // Print out the details of each DPC.
            IList<Dpc> dpcs = response.Dpcs;
            foreach (Dpc dpcApp in dpcs)
            {
                Console.WriteLine("Name:{0}  APK:{1}",
                                  dpcApp.DpcName,
                                  dpcApp.PackageName);
            }

        }
    }
}

الخطوة 4: تشغيل عيّنة

لإنشاء النموذج وتشغيله، انقر على بدء في شريط أدوات Visual Studio.

عند تشغيل التطبيق لأول مرة، تحتاج إلى منح الإذن بالوصول:

  1. يحاول التطبيق فتح علامة تبويب جديدة في المتصفّح التلقائي. إذا تعذّر ذلك، انسخ عنوان URL من وحدة التحكّم وافتحه في المتصفّح. إذا لم تكن قد سجَّلت الدخول إلى حسابك على Google، سيُطلب منك تسجيل الدخول. إذا سجّلت الدخول إلى حسابات متعددة على Google، ستطلب منك الصفحة اختيار حساب للتفويض.
  2. انقر على قبول.
  3. أغلِق علامة تبويب المتصفّح، وسيستمر تشغيل التطبيق.

ملاحظات

  • وبما أنّ مكتبة برامج Google API تخزّن بيانات التفويض على نظام الملفات، لا تطلب منك عمليات الإطلاق اللاحقة تقديم تفويض.
  • لإعادة ضبط بيانات تفويض التطبيق، يجب حذف ملف ~/.credentials/zero-touch.quickstart.json وتشغيل التطبيق مرة أخرى.
  • إنّ مسار التفويض في بدء التشغيل السريع هذا مثالي لتطبيق سطر الأوامر. وللتعرّف على طريقة إضافة التفويض إلى تطبيق الويب، راجِع استخدام OAuth 2.0 وتطبيقات الويب (ASP.NET MVC).

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

وفي ما يلي بعض المواضيع الشائعة التي عليك التحقّق منها. أخبِرنا بالمشكلة التي حدثت باستخدام ميزة "البدء السريع" وسنعمل على حلّها.

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

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