이 빠른 시작 가이드의 단계를 따르면 약 10분 만에 제로터치 등록에 요청하는 간단한 .NET C# 콘솔 앱 API를 사용할 수 있습니다.
기본 요건
이 빠른 시작을 실행하려면 다음이 필요합니다.
- 제로터치 등록 고객의 구성원인 Google 계정 있습니다. 자세한 내용은 고객 계정을 참조하세요.
- Visual Studio 2013 이상
- 인터넷 및 웹브라우저 액세스
1단계: 제로터치 등록 API 사용 설정하기
- 다음을 사용하세요. 마법사를 사용하여 Google Developers Console에서 프로젝트를 만들거나 선택하고 API를 자동으로 사용 설정합니다 계속을 클릭한 후 사용자 인증 정보로 이동을 클릭합니다. 를 참고하세요.
- 사용자 인증 정보 만들기에서 취소를 클릭합니다.
- 페이지 상단에서 OAuth 동의 화면 탭을 선택합니다. 선택 이메일 주소. 아직 설정되지 않은 경우 제품 이름을 입력합니다. 저장 버튼을 클릭합니다.
- 사용자 인증 정보 탭을 선택하고 사용자 인증 정보 만들기를 클릭합니다. 버튼을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
- 애플리케이션 유형을 기타로 선택하고 이름을 입력합니다. '빠른 시작'을 클릭하고 만들기 버튼을 클릭합니다.
- 확인을 클릭하여 OAuth 클라이언트 패널을 닫습니다.
- JSON 다운로드를 클릭합니다.
- 파일을 작업 디렉터리로 이동하고 이름을
client_secret.json
로 바꿉니다.
2단계: 프로젝트 준비
- Visual Studio에서 새 .NET Core C# 콘솔 애플리케이션 프로젝트를 만듭니다.
- 패키지 관리자를 열고 패키지 소스 nuget.org를 선택한 후
다음 패키지:
<ph type="x-smartling-placeholder">
- </ph>
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
자세한 내용은 Microsoft 문서 설치 및 사용 패키지를 참고하세요.
3단계: 샘플 설정
- 1단계에서 다운로드한
client_secret.json
를 Visual Studio로 드래그합니다. 솔루션 탐색기 client_secret.json
를 선택한 후 속성 창으로 이동하여 출력 디렉터리에 복사 필드를 항상 복사로 설정합니다.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 툴바에서
Start(시작)를 클릭합니다.앱을 처음 실행할 때는 다음과 같이 액세스 권한을 승인해야 합니다.
- 앱에서 기본 브라우저에서 새 탭을 열려고 합니다. 그래도 실패하면 브라우저에서 엽니다. 아직 Google 계정에 로그인하지 않았다면 로그인하라는 메시지가 표시됩니다. 여러 Google 계정에 로그인되어 있는 경우 페이지에서 승인 계정
- 수락을 클릭합니다.
- 브라우저 탭을 닫습니다. 앱이 계속 실행됩니다.
참고
- Google API 클라이언트 라이브러리는 파일 시스템에 승인 데이터를 저장하므로 이후의 승인하라는 메시지가 표시되지 않습니다.
- 앱의 승인 데이터를 재설정하려면 다음을 삭제합니다.
~/.credentials/zero-touch.quickstart.json
파일을 열고 앱을 다시 실행합니다. - 이 빠른 시작의 승인 흐름은 명령줄 앱에 이상적입니다. 추가하는 방법을 알아보려면 승인에 대한 자세한 내용은 페이지를 참조하세요. OAuth 2.0 사용, 웹 애플리케이션 (ASP.NET MVC).
문제 해결
일반적으로 다음과 같은 사항을 확인해 보시기 바랍니다. <ph type="x-smartling-placeholder"></ph> 빠른 시작에서 어떤 문제가 발생했는지 알려주시면 문제 해결을 위해 노력하겠습니다.
- 제로터치 등록 고객 계정에만 적용됩니다. 제로터치 등록 포털에 로그인해 보려면 동일한 Google 계정을 사용하여 액세스를 테스트합니다.
- 계정이 포털. 를 참조하세요. 고객 계정.