ग्राहकों के लिए .NET क्विकस्टार्ट

इस क्विकस्टार्ट गाइड में दिए गए निर्देशों का पालन करें और करीब 10 मिनट में एक आसान .NET C# कंसोल ऐप्लिकेशन, जो ज़ीरो-टच रजिस्ट्रेशन के लिए अनुरोध करता है ग्राहक API.

ज़रूरी शर्तें

इस क्विकस्टार्ट को चलाने के लिए, आपको इनकी ज़रूरत होगी:

  • Google खाता, जो 'पहले से तैयार डिवाइस' सुविधा वाले आपके ग्राहक का सदस्य हो जोड़ें. ग्राहक की जानकारी देखें खाते हैं.
  • Visual Studio 2013 या इसके बाद के वर्शन.
  • इंटरनेट और वेब ब्राउज़र का ऐक्सेस.

पहला चरण: ज़ीरो-टच रजिस्ट्रेशन एपीआई को चालू करना

  1. इसका उपयोग करें विज़र्ड पर क्लिक करें और एपीआई अपने-आप चालू हो जाएगा. जारी रखें पर क्लिक करें. इसके बाद, क्रेडेंशियल पर जाएं .
  2. 'क्रेडेंशियल बनाएं' सेक्शन में जाकर, रद्द करें पर क्लिक करें.
  3. पेज पर सबसे ऊपर, OAuth का इस्तेमाल करने के लिए सहमति वाली स्क्रीन टैब चुनें. अपने कैंपेन के मकसद के आधार पर, ईमेल पता, अगर पहले से सेट नहीं है, तो प्रॉडक्ट का नाम डालें और सेव करें बटन पर क्लिक करें.
  4. क्रेडेंशियल टैब चुनें और क्रेडेंशियल बनाएं पर क्लिक करें बटन पर क्लिक करें और OAuth क्लाइंट आईडी चुनें.
  5. ऐप्लिकेशन टाइप अन्य चुनें और नाम डालें "क्विकस्टार्ट" चुनें और बनाएं पर क्लिक करें बटन.
  6. OAuth क्लाइंट पैनल को खारिज करने के लिए, ठीक है पर क्लिक करें.
  7. JSON डाउनलोड करें पर क्लिक करें.
  8. फ़ाइल को अपनी मौजूदा डायरेक्ट्री में ले जाएं और इसका नाम client_secret.json रखें.

दूसरा चरण: प्रोजेक्ट तैयार करना

  1. Visual Studio में नया .NET Core C# Console ऐप्लिकेशन प्रोजेक्ट बनाएं.
  2. पैकेज मैनेजर खोलें, पैकेज सोर्स nuget.org चुनें, और जोड़ें ये पैकेज उपलब्ध हैं:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

अधिक जानने के लिए, Microsoft दस्तावेज़ पढ़ें एक नया उपयोगकर्ता विकल्प चुनें और पैकेज भी शामिल है.

तीसरा चरण: सैंपल सेट अप करना

  1. client_secret.json (पहले चरण में डाउनलोड किया गया) को अपने विज़ुअल स्टूडियो में खींचें और छोड़ें सलूशन एक्सप्लोरर.
  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. ऐप्लिकेशन आपके डिफ़ॉल्ट ब्राउज़र में एक नया टैब खोलने की कोशिश करता है. अगर ऐसा नहीं होता है, तो कंसोल और इसे अपने ब्राउज़र में खोलें. अगर आपने पहले से अपने Google खाते में लॉग इन नहीं किया है, तो लॉग इन करने के लिए प्रॉम्प्ट किया गया. अगर आपने कई Google खातों में लॉग इन किया हुआ है, तो आपको इस पेज पर अनुमति देने के लिए एक खाता होना चाहिए.
  2. स्वीकार करें पर क्लिक करें.
  3. ब्राउज़र टैब बंद कर दें—ऐप्लिकेशन लगातार चलता रहेगा.

नोट

  • Google API क्लाइंट लाइब्रेरी, फ़ाइल सिस्टम में अनुमति से जुड़ा डेटा सेव करती है. इसलिए, हम Google API का इस्तेमाल करके, लॉन्च करने से आपको अनुमति देने के लिए नहीं कहा जाता.
  • ऐप्लिकेशन के अनुमति देने वाले डेटा को रीसेट करने के लिए, ~/.credentials/zero-touch.quickstart.json फ़ाइल खोलें और ऐप्लिकेशन को फिर से चलाएं.
  • इस क्विकस्टार्ट में अनुमति देने का फ़्लो, कमांड-लाइन ऐप्लिकेशन के लिए सबसे सही है. जोड़ने का तरीका जानने के लिए के लिए प्राधिकरण, OAuth 2.0, वेब ऐप्लिकेशन (ASP.NET MVC) का इस्तेमाल करना.

समस्या हल करना

यहां कुछ ऐसी सामान्य चीज़ें दी गई हैं, जिन्हें आप जांचना चाहेंगे. हमें बताएं कि क्विकस्टार्ट में क्या गड़बड़ी हुई और हम उसे ठीक करने के लिए काम करेंगे.

  • पक्का करें कि एपीआई कॉल को उसी Google खाते से अनुमति दी जा रही हो जो आपका ज़ीरो-टच रजिस्ट्रेशन की सुविधा वाले ग्राहक का खाता. ज़ीरो-टच रजिस्ट्रेशन की सुविधा वाले पोर्टल में साइन इन करने के लिए, ऐक्सेस करें.
  • इसमें पुष्टि करें कि खाते ने सेवा की नई शर्तें स्वीकार की हैं पोर्टल. देखें ग्राहक खाते.

ज़्यादा जानें