מבצעים את השלבים במדריך למתחילים ותוך 10 דקות תקבלו אפליקציה פשוטה של שורת פקודה ב-Python שבאמצעותה אפשר לשלוח בקשות לממשק ה-API של מפיץ ההרשמה דרך הארגון.
דרישות מוקדמות
כדי להריץ את המדריך המהיר הזה, צריך:
- חשבון Google שהוא חבר בחשבון המפיץ שלכם שנרשמים דרך הארגון. אם עדיין לא נרשמתם, בצעו את השלבים המפורטים במאמר תחילת העבודה במדריך לפורטל מפיצים.
- Python – גרסה 2.6 ואילך.
- בכלי לניהול pip.
- גישה לאינטרנט ולדפדפן אינטרנט.
שלב 1: מפעילים את ה-API של ההרשמה דרך הארגון
- יש להשתמש באשף זה כדי ליצור או לבחור פרויקט ב-Google Developers Console, ולהפעיל את ה-API באופן אוטומטי. לוחצים על המשך ואז על כניסה לפרטי הכניסה .
- מגדירים את הנתונים שאליהם תיגשו? כנתוני אפליקציה.
- לוחצים על הבא. אמורה להופיע בקשה ליצירת חשבון שירות.
- נותנים שם תיאורי לשם חשבון השירות.
- כדאי לשים לב למספר חשבון השירות (שנראה כמו כתובת אימייל), מפני שייעשה בו שימוש מאוחר יותר.
- מגדירים את Role בתור חשבונות שירות > משתמש בחשבון שירות.
- לוחצים על Done כדי לסיים ליצור את חשבון השירות.
- לוחצים על כתובת האימייל של חשבון השירות שנוצר.
- לוחצים על **מפתחות**.
- לוחצים על **הוספת מפתח** ואז על **יצירת מפתח חדש**.
- בקטע **סוג מפתח**, בוחרים באפשרות **JSON**.
- לוחצים על יצירה והמפתח הפרטי מוריד למחשב.
- לוחצים על **סגירה**.
- יש להעביר את הקובץ לספריית העבודה ולשנות את השם שלו לשם
service_account_key.json
.
שלב 2: מקשרים את חשבון השירות
- פותחים את פורטל ההרשמה דרך הארגון. יכול להיות שתצטרכו להיכנס לחשבון.
- לוחצים על Service accounts.
- לוחצים על קישור חשבון השירות.
- מגדירים את כתובת האימייל לכתובת של חשבון השירות שיצרתם.
- לוחצים על קישור חשבון השירות כדי להשתמש בחשבון השירות עם חשבון ההרשמה דרך הארגון.
שלב 3: התקנה של ספריית הלקוחות של Google
כדי להתקין את הספרייה באמצעות תמונה בתוך תמונה, מריצים את הפקודה הבאה:
pip install --upgrade google-api-python-client
בדף ההתקנה של הספרייה מפורטות אפשרויות ההתקנה השונות.
שלב 4: הגדרת הדוגמה
יוצרים קובץ בשם quickstart.py
בספריית העבודה. מעתיקים את הקוד הבא ושומרים את הקובץ. יש להזין את מזהה השותף המפיץ שלך כערך של PARTNER_ID
(השורה הראשונה באפליקציה לאחר הייבוא).
#!/usr/bin/env python # -*- coding: utf-8 -*- """Zero-touch enrollment reseller quickstart. This script forms the quickstart introduction to the zero-touch enrollemnt reseller API. To learn more, visit https://developer.google.com/zero-touch """ from apiclient.discovery import build from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials # TODO: replace this with your partner reseller ID. PARTNER_ID = '11036885'; # A single auth scope is used for the zero-touch enrollment customer API. SCOPES = ['https://www.googleapis.com/auth/androidworkprovisioning'] SERVICE_ACCOUNT_KEY_FILE = 'service_account_key.json' def get_credential(): """Creates a Credential object with the correct OAuth2 authorization. Creates a Credential object with the correct OAuth2 authorization for the service account that calls the reseller API. The service endpoint calls this method when setting up a new service instance. Returns: Credential, the user's credential. """ credential = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES) return credential def get_service(): """Creates a service endpoint for the zero-touch enrollment reseller API. Builds and returns an authorized API client service for v1 of the API. Use the service endpoint to call the API methods. Returns: A service Resource object with methods for interacting with the service. """ http_auth = get_credential().authorize(Http()) service = build('androiddeviceprovisioning', 'v1', http=http_auth) return service def main(): """Runs the zero-touch enrollment quickstart app. """ # Create a zero-touch enrollment API service endpoint. service = get_service() # Send an API request to list all our customers. response = service.partners().customers().list(partnerId=PARTNER_ID).execute() # Print out the details of each customer. if 'customers' in response: for customer in response['customers']: print 'Name:{0} ID:{1}'.format( customer['companyName'], customer['companyId']) else: print 'No customers found' if __name__ == '__main__': main()
מספר השותף
בדרך כלל, קריאות ל-API צריכות לכלול את מזהה המפיץ שלכם כארגומנט. כך מוצאים את מזהה השותף בפורטל ההרשמה דרך הארגון:
- פותחים את הפורטל. יכול להיות שתצטרכו להיכנס לחשבון.
- לוחצים על Service accounts.
- מעתיקים את המספר המזהה של השותף בשורה מזהה המפיץ שלך.
שלב 5: הרצת הדוגמה
נעזרים במערכת ההפעלה כדי להריץ את הסקריפט בקובץ. במחשבים עם UNIX ו-Mac, מריצים את הפקודה הבאה במסוף:
python quickstart.py
הדפסת תגובות API
כדי שיהיה קל יותר לבדוק את התגובות כשמנסים את ממשק ה-API, כדאי לעצב את הנתונים של תגובת ה-JSON. קטע הקוד הבא מראה איך אפשר לעשות זאת ב-Python באמצעות מודול JSON:
from json import dumps
# ...
results = provisioning.partners().devices().claimAsync(partnerId=MY_PARTNER_ID,
body={'claims':new_claims}).execute()
# Print formatted JSON response
print dumps(results, indent=4, sort_keys=True)
פתרון בעיות
מה השתבש? מדריך למתחילים ואנחנו נפעל כדי לפתור את הבעיה. בהרשאה מוסבר איך הארגון שלך לא משתמש בחשבונות שירות כדי לתת הרשאה לקריאות ל-API.