গ্রাহকদের জন্য .NET দ্রুত শুরু

এই কুইকস্টার্ট গাইডের ধাপগুলি অনুসরণ করুন এবং প্রায় 10 মিনিটের মধ্যে আপনার কাছে একটি সাধারণ .NET C# কনসোল অ্যাপ রয়েছে যা জিরো-টাচ এনরোলমেন্ট গ্রাহক API-কে অনুরোধ করে।

পূর্বশর্ত

এই কুইকস্টার্ট চালানোর জন্য আপনার প্রয়োজন:

  • একটি Google অ্যাকাউন্ট, এটি আপনার জিরো-টাচ এনরোলমেন্ট গ্রাহক অ্যাকাউন্টের সদস্য। গ্রাহক অ্যাকাউন্ট দেখুন।
  • ভিজ্যুয়াল স্টুডিও 2013 বা তার পরে।
  • ইন্টারনেট এবং একটি ওয়েব ব্রাউজারে অ্যাক্সেস।

ধাপ 1: জিরো-টাচ এনরোলমেন্ট API চালু করুন

  1. Google বিকাশকারী কনসোলে একটি প্রকল্প তৈরি বা নির্বাচন করতে এবং স্বয়ংক্রিয়ভাবে API চালু করতে এই উইজার্ডটি ব্যবহার করুন৷ Continue-এ ক্লিক করুন, তারপর শংসাপত্রে যান
  2. Create Credentials-এ Cancel এ ক্লিক করুন।
  3. পৃষ্ঠার শীর্ষে, OAuth সম্মতি স্ক্রিন ট্যাবটি নির্বাচন করুন। একটি ইমেল ঠিকানা নির্বাচন করুন, ইতিমধ্যে সেট না থাকলে একটি পণ্যের নাম লিখুন এবং সংরক্ষণ বোতামটি ক্লিক করুন৷
  4. শংসাপত্র ট্যাব নির্বাচন করুন, শংসাপত্র তৈরি করুন বোতামে ক্লিক করুন এবং OAuth ক্লায়েন্ট আইডি নির্বাচন করুন।
  5. অন্যান্য অ্যাপ্লিকেশন প্রকার নির্বাচন করুন, "কুইকস্টার্ট" নাম লিখুন, এবং তৈরি করুন বোতামে ক্লিক করুন।
  6. OAuth ক্লায়েন্ট প্যানেল খারিজ করতে ওকে ক্লিক করুন।
  7. ডাউনলোড JSON এ ক্লিক করুন।
  8. ফাইলটিকে আপনার ওয়ার্কিং ডাইরেক্টরিতে নিয়ে যান এবং এর নাম পরিবর্তন করুন client_secret.json

ধাপ 2: প্রকল্প প্রস্তুত করুন

  1. ভিজ্যুয়াল স্টুডিওতে একটি নতুন .NET কোর সি# কনসোল অ্যাপ্লিকেশন প্রকল্প তৈরি করুন।
  2. প্যাকেজ ম্যানেজার খুলুন, প্যাকেজ সোর্স nuget.org নির্বাচন করুন এবং নিম্নলিখিত প্যাকেজগুলি যোগ করুন:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

আরও জানতে, মাইক্রোসফ্ট নথিটি পড়ুন ইনস্টল করুন এবং একটি প্যাকেজ ব্যবহার করুন

ধাপ 3: নমুনা সেট আপ করুন

  1. আপনার ভিজ্যুয়াল স্টুডিও সলিউশন এক্সপ্লোরারে client_secret.json (ধাপ 1 এ ডাউনলোড করা হয়েছে) টেনে আনুন।
  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: নমুনা চালান

নমুনা তৈরি এবং চালানোর জন্য, ভিজ্যুয়াল স্টুডিও টুলবারে Start- এ ক্লিক করুন।

প্রথমবার যখন আপনি অ্যাপটি চালাবেন, আপনাকে অ্যাক্সেস অনুমোদন করতে হবে:

  1. অ্যাপটি আপনার ডিফল্ট ব্রাউজারে একটি নতুন ট্যাব খোলার চেষ্টা করে। এটি ব্যর্থ হলে, কনসোল থেকে URLটি অনুলিপি করুন এবং এটি আপনার ব্রাউজারে খুলুন। আপনি যদি ইতিমধ্যে আপনার Google অ্যাকাউন্টে লগ ইন না করে থাকেন, তাহলে আপনাকে লগ ইন করতে বলা হবে৷ আপনি যদি একাধিক Google অ্যাকাউন্টে লগ ইন করে থাকেন, তাহলে পৃষ্ঠাটি আপনাকে অনুমোদনের জন্য একটি অ্যাকাউন্ট নির্বাচন করতে অনুরোধ করে৷
  2. স্বীকার করুন ক্লিক করুন.
  3. ব্রাউজার ট্যাব বন্ধ করুন—অ্যাপটি চলতে থাকে।

মন্তব্য

  • যেহেতু Google API ক্লায়েন্ট লাইব্রেরি ফাইল সিস্টেমে অনুমোদনের ডেটা সঞ্চয় করে, পরবর্তী লঞ্চগুলি আপনাকে অনুমোদনের জন্য অনুরোধ করে না।
  • অ্যাপের অনুমোদন ডেটা রিসেট করতে, ~/.credentials/zero-touch.quickstart.json ফাইলটি মুছুন এবং অ্যাপটি আবার চালান।
  • এই কুইকস্টার্টে অনুমোদনের প্রবাহ একটি কমান্ড-লাইন অ্যাপের জন্য আদর্শ। কিভাবে একটি ওয়েব অ্যাপে অনুমোদন যোগ করতে হয় তা জানতে, OAuth 2.0 ব্যবহার করে, ওয়েব অ্যাপ্লিকেশন (ASP.NET MVC) দেখুন।

সমস্যা সমাধান

এখানে কিছু সাধারণ জিনিস রয়েছে যা আপনি পরীক্ষা করতে চাইবেন৷ কুইকস্টার্টে কী ভুল হয়েছে তা আমাদের বলুন এবং আমরা এটি ঠিক করার জন্য কাজ করব।

  • আপনি আপনার জিরো-টাচ এনরোলমেন্ট গ্রাহক অ্যাকাউন্টের সদস্য সেই একই Google অ্যাকাউন্ট দিয়ে API কল অনুমোদন করছেন কিনা তা পরীক্ষা করুন। আপনার অ্যাক্সেস পরীক্ষা করতে একই Google অ্যাকাউন্ট ব্যবহার করে জিরো-টাচ এনরোলমেন্ট পোর্টালে সাইন ইন করার চেষ্টা করুন।
  • নিশ্চিত করুন যে অ্যাকাউন্টটি পোর্টালে পরিষেবার সর্বশেষ শর্তাবলী স্বীকার করেছে৷ গ্রাহক অ্যাকাউন্ট দেখুন।

আরও জানুন