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

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

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

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

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

पहला चरण: पहले से तैयार डिवाइस के लिए एपीआई चालू करना

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

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

  1. विज़ुअल स्टूडियो में एक नया .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);
            }

        }
    }
}

चौथा चरण: सैंपल चलाएं

सैंपल बनाने और चलाने के लिए, विज़ुअल स्टूडियो टूलबार में शुरू करें पर क्लिक करें.

पहली बार ऐप्लिकेशन चलाने पर, आपको इन चीज़ों का ऐक्सेस देना होगा:

  1. ऐप्लिकेशन आपके डिफ़ॉल्ट ब्राउज़र में एक नया टैब खोलने की कोशिश करता है. अगर ऐसा नहीं होता है, तो कंसोल से यूआरएल कॉपी करें और उसे अपने ब्राउज़र में खोलें. अगर आपने पहले से अपने Google खाते में लॉग इन नहीं किया है, तो आपको लॉग इन करने के लिए कहा जाता है. अगर आपने एक से ज़्यादा Google खातों में लॉग इन किया हुआ है, तो पेज पर आपको अनुमति के लिए एक खाता चुनने के लिए कहा जाएगा.
  2. स्वीकार करें पर क्लिक करें.
  3. ब्राउज़र टैब बंद करें—ऐप्लिकेशन चलता रहेगा.

नोट

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

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

यहां कुछ सामान्य बातें बताई गई हैं, जिन्हें आप देखना चाहेंगे. हमें बताएं कि क्या गड़बड़ी हुई और हम इसे ठीक करने की कोशिश करेंगे.

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

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