고객을 위한 .NET 빠른 시작

이 빠른 시작 가이드의 단계를 따르면 약 10분 만에 제로터치 등록에 요청하는 간단한 .NET C# 콘솔 앱 고객 API에 연결할 수 있습니다

기본 요건

이 빠른 시작을 실행하려면 다음이 필요합니다.

  • 제로터치 등록 고객 계정에 연결된 서비스 계정입니다. 시작하기를 참고하세요.
  • Visual Studio 2013 이상
  • 인터넷 및 웹브라우저 액세스

1단계: 제로터치 등록 API 사용 설정하기

  1. 다음을 사용하세요. 마법사를 사용하여 Google Developers Console에서 프로젝트를 만들거나 선택하고 API를 자동으로 사용 설정합니다 계속을 클릭한 후 사용자 인증 정보로 이동을 클릭합니다. 를 참고하세요.
  2. 어떤 데이터에 액세스하시겠습니까?애플리케이션 데이터로 설정합니다.
  3. 다음을 클릭합니다. 서비스를 만들라는 메시지가 표시됩니다. 있습니다.
  4. 서비스 계정 이름을 설명하는 이름을 지정합니다.
  5. 나중에 사용할 서비스 계정 ID(이메일 주소처럼 보임)를 기록해 둡니다.
  6. 역할서비스 계정 > 서비스 계정 사용자로 설정합니다.
  7. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.
  8. 만든 서비스 계정의 이메일 주소를 클릭합니다.
  9. **Keys**를 클릭합니다.
  10. **키 추가**를 클릭한 다음 **새 키 만들기**를 클릭합니다.
  11. **키 유형**에서 **JSON**을 선택합니다.
  12. 만들기를 클릭하면 비공개 키가 컴퓨터에 다운로드됩니다.
  13. **닫기**를 클릭합니다.
  14. 파일을 작업 디렉터리로 이동하고 이름을 service_account_key.json로 바꿉니다.

2단계: 프로젝트 준비

  1. Visual Studio에서 새 .NET Core C# 콘솔 애플리케이션 프로젝트를 만듭니다.
  2. 패키지 관리자를 열고 패키지 소스 nuget.org를 선택한 후 다음 패키지: <ph type="x-smartling-placeholder">
      </ph>
    • 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단계: 샘플 실행

샘플을 빌드하고 실행하려면 Visual Studio 툴바에서 Start(시작)를 클릭합니다.

참고

  • service_account_key.json 파일을 다른 사람과 공유하지 마세요. 주의 소스 코드 저장소에는 포함하지 않습니다. 자세한 내용은 서비스 계정 보안 비밀 처리

자세히 알아보기