Müşteriler için .NET hızlı başlangıç kılavuzu

Bu hızlı başlangıç kılavuzundaki adımları uygulayın ve yaklaşık 10 dakika içinde El değmeden kayıt için istek gönderen basit bir .NET C# konsol uygulaması müşteri API'si.

Ön koşullar

Bu hızlı başlangıç kılavuzunu çalıştırmak için gerekenler:

  • El değmeden kayıt özelliğine sahip müşterinizin üyesi olan bir Google Hesabı hesap. Müşteri hesaplar.
  • Visual Studio 2013 veya sonraki sürümler.
  • İnternete ve web tarayıcısına erişim.

1. adım: El değmeden kayıt API'sini etkinleştirin

  1. Bunu kullanın sihirbazı kullanarak Google Developers Console'da proje oluşturabilir veya seçebilirsiniz ve API'yi otomatik olarak açabilir. Devam ve ardından Kimlik bilgilerine git'i tıklayın ziyaret edin.
  2. "Kimlik bilgileri oluştur" bölümünde İptal'i tıklayın.
  3. Sayfanın üst kısmında OAuth izin ekranı sekmesini seçin. Bir E-posta adresi, henüz ayarlanmamışsa bir Ürün adı girin ve Kaydet düğmesini tıklayın.
  4. Credentials (Kimlik bilgileri) sekmesini ve ardından Create credentials'ı (Kimlik bilgileri oluştur) tıklayın. düğmesine basın ve OAuth istemci kimliği'ni seçin.
  5. Diğer uygulama türünü seçip adı girin "Hızlı başlangıç kılavuzu"na gidin ve Oluştur'u tıklayın. düğmesini tıklayın.
  6. OAuth istemcisi panelini kapatmak için Tamam'ı tıklayın.
  7. JSON'u indir'i tıklayın.
  8. Dosyayı çalışma dizininize taşıyın ve client_secret.json olarak yeniden adlandırın.

2. Adım: Projeyi hazırlayın

  1. Visual Studio'da yeni bir .NET Core C# Console Uygulaması projesi oluşturun.
  2. Paket Yöneticisi'ni açın, paket kaynağını nuget.org seçin ve şu paketler:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

Daha fazla bilgi edinmek için şu Microsoft dokümanını okuyun: paketindedir.

3. Adım: Örneği ayarlayın

  1. client_secret.json öğesini (1. adımda indirilen) Visual Studio'nuza sürükleyin. Çözüm Gezgini.
  2. client_secret.json seçeneğini belirleyin, ardından Özellikler penceresine gidin ve Çıkış dizinine kopyala alanını Her zaman kopyala seçeneğine ayarlayın.
  3. Program.cs içeriğini aşağıdaki kodla değiştirin:
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. Adım: Örneği çalıştırın

Örneği derlemek ve çalıştırmak için Visual Studio araç çubuğunda Başlat'ı tıklayın.

Uygulamayı ilk kez çalıştırdığınızda erişimi yetkilendirmeniz gerekir:

  1. Uygulama, varsayılan tarayıcınızda yeni bir sekme açmaya çalışır. Bu başarısız olursa konsolunuza girip tarayıcınızda açın. Google Hesabınıza giriş yapmadıysanız giriş yapmanız istenir. Birden fazla Google Hesabı'na giriş yaptıysanız sayfada aşağıdakilerden birini seçmeniz istenir bir hesaba sahip olabilir.
  2. Kabul et'i tıklayın.
  3. Tarayıcı sekmesini kapatın. Uygulama çalışmaya devam eder.

Notlar

  • Google API istemci kitaplığı, yetkilendirme verilerini dosya sisteminde depoladığından, başlatma işleminden sonra yetkilendirme istenmez.
  • Uygulamanın yetkilendirme verilerini sıfırlamak için ~/.credentials/zero-touch.quickstart.json dosyasını açın ve uygulamayı tekrar çalıştırın.
  • Bu hızlı başlangıç kılavuzundaki yetkilendirme akışı, komut satırı uygulaması için idealdir. Nasıl ekleyeceğinizi öğrenmek için yetkilendirmesi hakkında daha fazla bilgi için bkz. OAuth 2.0'ı kullanarak web uygulamaları (ASP.NET MVC).

Sorun giderme

Kontrol etmek isteyebileceğiniz bazı yaygın noktalar şunlardır. Hızlı başlangıç kılavuzuyla ilgili yaşadığınız sorunu bize bildirin, sorunu gidermeye çalışalım.

  • API çağrılarını El değmeden kayıt müşteri hesabı. Şu adresi kullanarak el değmeden kayıt portalında oturum açmayı deneyin: aynı Google Hesabı'nı kullanmanız gerekir.
  • Hesabın şu Hizmet Şartları'nı kabul ettiğini onaylayın: portala gidin. Bkz. Müşteri hesapları.

Daha fazla bilgi