การเริ่มต้นใช้งาน .NET สำหรับลูกค้าอย่างรวดเร็ว

ทำตามขั้นตอนในคู่มือเริ่มใช้งานฉบับย่อนี้ และในอีกประมาณ 10 นาทีคุณก็จะได้ แอปคอนโซล .NET C# แบบเรียบง่ายที่ส่งคำขอไปยังการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม API ของลูกค้าโดยใช้บัญชีบริการ

ข้อกำหนดเบื้องต้น

หากต้องการเรียกใช้การเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณต้องมีสิ่งต่อไปนี้

  • บัญชีบริการที่ลิงก์กับบัญชีการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่มของคุณ ของคุณได้ ดูที่รับ แล้ว
  • Visual Studio 2013 ขึ้นไป
  • อินเทอร์เน็ตและเว็บเบราว์เซอร์

ขั้นตอนที่ 1: เปิด API การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม

  1. ใช้ this วิซาร์ดเพื่อสร้างหรือเลือกโปรเจ็กต์ใน Google Developers Console และ เปิด API โดยอัตโนมัติ คลิกต่อไป แล้วคลิกไปที่ข้อมูลเข้าสู่ระบบ
  2. ตั้งค่าคุณต้องการเข้าถึงข้อมูลใดเป็นข้อมูลแอปพลิเคชัน
  3. คลิกถัดไป ระบบจะแจ้งให้คุณสร้างบัญชีบริการ
  4. ตั้งชื่อที่สื่อความหมายสำหรับชื่อบัญชีบริการ
  5. จดบันทึกรหัสบัญชีบริการ (มีลักษณะคล้ายอีเมล) เนื่องจากคุณจะต้องใช้รหัสนี้ในภายหลัง
  6. ตั้งค่าบทบาทเป็นบัญชีบริการ > ผู้ใช้บัญชีบริการ
  7. คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสิ้น
  8. คลิกอีเมลของบัญชีบริการที่คุณสร้างขึ้น
  9. คลิก**กุญแจ**
  10. คลิก **เพิ่มคีย์** แล้วคลิก **สร้างคีย์ใหม่**
  11. สำหรับ **ประเภทคีย์** ให้เลือก **JSON**
  12. คลิกสร้าง แล้วคีย์ส่วนตัวจะดาวน์โหลดลงในคอมพิวเตอร์
  13. คลิก**ปิด**
  14. ย้ายไฟล์ไปยังไดเรกทอรีที่ใช้งานอยู่และเปลี่ยนชื่อ service_account_key.json

ขั้นตอนที่ 2: เตรียมโครงการ

  1. สร้างโปรเจ็กต์ Console Application ใหม่ใน Visual Studio โดยใช้ .NET Core C#
  2. เปิดตัวจัดการแพ็กเกจ เลือกแหล่งที่มาของแพ็กเกจ nuget.org แล้วเพิ่ม แพ็กเกจต่อไปนี้
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

ดูข้อมูลเพิ่มเติมได้ที่เอกสารของ Microsoft ติดตั้งและใช้แพ็กเกจ

ขั้นตอนที่ 3: ตั้งค่าตัวอย่าง

  1. ลาก service_account_key.json ที่คุณดาวน์โหลดเมื่อสร้าง บัญชีบริการของคุณลงใน Visual Studio Solution Explorer
  2. เลือก service_account_key.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 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)
        {
            GoogleCredential credential;

            // Authenticate using the service account key
            credential = GoogleCredential.FromFile("service_account_key.json")
                .CreateScoped(Scopes);

            // 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 ในแถบเครื่องมือ Visual Studio

หมายเหตุ

  • หลีกเลี่ยงการแชร์ไฟล์ service_account_key.json กับผู้อื่น โปรดระมัดระวังอย่าใส่ข้อมูลดังกล่าวไว้ในที่เก็บซอร์สโค้ด อ่านคําแนะนําเพิ่มเติมเกี่ยวกับการจัดการข้อมูลลับของบัญชีบริการ

ดูข้อมูลเพิ่มเติม