מדריך למתחילים בנושא .NET למפיצים

פועלים לפי השלבים במדריך למתחילים הזה, ובתוך כ-10 דקות תהיה לכם אפליקציית מסוף פשוטה ב-‎.NET C# ששולחת בקשות לממשק ה-API של המפיץ להרשמה ללא מגע.

דרישות מוקדמות

כדי להריץ את המדריך למתחילים הזה, צריך:

  • חשבון Google שמשויך לחשבון המפיץ שלכם להרשמה דרך הארגון. אם עדיין לא הצטרפתם לתוכנית, פועלים לפי השלבים שמפורטים בקטע תחילת העבודה במדריך של הפורטל למפיצים.
  • Visual Studio 2013 ואילך.
  • גישה לאינטרנט ודפדפן אינטרנט.

שלב 1: מפעילים את ה-API להרשמה ללא מגע

  1. משתמשים באשף הזה כדי ליצור או לבחור פרויקט ב-Google Developers Console ולהפעיל אוטומטית את ה-API. לוחצים על המשך ואז על כניסה לפרטי הכניסה.
  2. מגדירים את האפשרות What data will you be accessing? (אילו נתונים תהיה לך גישה אליהם?) ל-Application data (נתוני האפליקציה).
  3. לוחצים על הבא. תתבקשו ליצור חשבון שירות.
  4. נותנים לשם חשבון השירות שם תיאורי.
  5. חשוב לזכור שמזהה חשבון השירות (הוא נראה כמו כתובת אימייל) כי תשתמשו בו מאוחר יותר.
  6. מגדירים את Role ל-Service Accounts > Service Account User.
  7. לוחצים על Done כדי לסיים ליצור את חשבון השירות.
  8. לוחצים על כתובת האימייל של חשבון השירות שנוצר.
  9. לוחצים על **מפתחות**.
  10. לוחצים על 'הוספת מפתח' ואז על 'יצירת מפתח חדש'.
  11. בשדה **סוג מפתח**, בוחרים באפשרות **JSON**.
  12. לוחצים על יצירה ואז על הורדת המפתח הפרטי למחשב.
  13. לוחצים על **סגירה**.
  14. צריך להעביר את הקובץ לספריית העבודה ולשנות את השם שלו ל-service_account_key.json.
  1. פותחים את פורטל ההרשמה דרך הארגון. יכול להיות שתצטרכו להיכנס לחשבון.
  2. לוחצים על Service accounts.
  3. לוחצים על קישור חשבון השירות.
  4. מגדירים את כתובת האימייל לכתובת של חשבון השירות שיצרתם.
  5. לוחצים על Link service account (קישור חשבון השירות) כדי להשתמש בחשבון השירות עם חשבון ההרשמה דרך הארגון.

שלב 3: הכנת הפרויקט

  1. יוצרים פרויקט חדש של אפליקציית מסוף ב-Visual Studio ב-C#‏ ‎.NET Core.
  2. פותחים את מנהל החבילות, בוחרים את מקור החבילות nuget.org ומוסיפים את החבילות הבאות:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

מידע נוסף זמין במסמך של Microsoft בנושא התקנה ושימוש בחבילה.

שלב 4: מגדירים את הדגימה

  1. גוררים את הקובץ service_account_key.json (שהורדתם בשלב 1) אל Solution Explorer ב-Visual Studio.
  2. בוחרים באפשרות service_account_key.json, עוברים לחלון Properties ומגדירים את השדה Copy to output directory (העתקה לספריית הפלט) לערך Always copy (העתקה תמידית).
  3. צריך להחליף את התוכן של Program.cs בקוד הבא.
  4. מזינים את מזהה השותף של המפיץ שלכם בתור הערך של PartnerId (השורה הראשונה של האפליקציה).
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;

namespace ZeroTouchResellerQuickstart
{
    class Program
    {
        // TODO: replace this with your partner reseller ID.
        static long PartnerId = 11036885;

        // Use a single scope for the all methods in the reseller API.
        static readonly string[] Scopes =
        { "https://www.googleapis.com/auth/androidworkprovisioning" };
        static string ApplicationName = "Zero-touch Reseller .NET Quickstart";

        static void Main(string[] args)
        {
            // Create a credential to authorize API requests using a service account key.
            // The service account must be linked using the zero-touch portal.
            ServiceAccountCredential credential;
            using (var stream =
                new FileStream("service_account_key.json", FileMode.Open, FileAccess.Read))
            {
                credential = GoogleCredential.FromStream(stream)
                                     .CreateScoped(Scopes)
                                     .UnderlyingCredential as ServiceAccountCredential;
            }

            // Create a zero-touch enrollment API service endpoint.
            var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName
            });

            // Send an API request to list all our customers.
            PartnersResource.CustomersResource.ListRequest request =
                service.Partners.Customers.List(PartnerId);
            ListCustomersResponse response = request.Execute();

            // Print out the details of each customer.
            IList<Company> customers = response.Customers;
            if (customers != null)
            {
                foreach (Company customer in customers)
                {
                    Console.WriteLine("Name:{0}  ID:{1}",
                                      customer.CompanyName,
                                      customer.CompanyId);
                }
            }
            else
            {
                Console.WriteLine("No customers found");
            }
        }
    }
}

מזהה השותף

בדרך כלל, צריך לציין את מזהה השותף המפיץ כארגומנטים בקריאות ל-API. כדי למצוא את מזהה השותף דרך פורטל ההרשמה דרך הארגון:

  1. פותחים את הפורטל. יכול להיות שתצטרכו להיכנס לחשבון.
  2. לוחצים על Service accounts.
  3. מעתיקים את מספר מזהה השותף מהשורה מזהה המפיץ שלך.

שלב 5: מריצים את הדוגמה

כדי ליצור ולהריץ את הדוגמה, לוחצים על Start בסרגל הכלים של Visual Studio.

פתרון בעיות

אפשר לספר לנו מה השתבש במדריך למתחילים, ונשתדל לתקן את הבעיה. במאמר הרשאה מוסבר איך שירות zero-touch משתמש בחשבונות שירות כדי לאשר קריאות ל-API.

מידע נוסף