شروع سریع پایتون برای مشتریانی که از یک حساب خدمات استفاده می کنند

مراحل این راهنمای شروع سریع را دنبال کنید و در عرض حدود 10 دقیقه یک برنامه خط فرمان ساده پایتون خواهید داشت که با استفاده از یک حساب سرویس، درخواست‌هایی را به API ثبت نام مشتری بدون لمس ارسال می‌کند.

پیش نیازها

برای اجرای این شروع سریع، شما نیاز دارید:

  • یک حساب سرویس، که به حساب مشتری ثبت نام بدون لمس شما مرتبط است. شروع کنید .
  • پایتون 3.0 یا بالاتر.
  • ابزار مدیریت بسته پیپ .
  • دسترسی به اینترنت و مرورگر وب.

مرحله 1: API ثبت نام بدون لمس را روشن کنید

  1. از این جادوگر برای ایجاد یا انتخاب یک پروژه در Google Developers Console استفاده کنید و به طور خودکار API را روشن کنید. روی Continue کلیک کنید، سپس به اعتبارنامه بروید .
  2. تنظیم کنید به چه داده هایی دسترسی خواهید داشت؟ به داده های برنامه
  3. روی Next کلیک کنید. باید از شما خواسته شود که یک حساب خدمات ایجاد کنید.
  4. یک نام توصیفی برای نام حساب سرویس بدهید.
  5. به شناسه حساب سرویس توجه کنید (به نظر می رسد یک آدرس ایمیل است) زیرا بعداً از آن استفاده خواهید کرد.
  6. نقش را روی حساب‌های سرویس > کاربر حساب سرویس تنظیم کنید.
  7. برای تکمیل ساخت حساب سرویس روی Done کلیک کنید.
  8. روی آدرس ایمیل حساب سرویسی که ایجاد کردید کلیک کنید.
  9. روی **کلیدها** کلیک کنید.
  10. روی **افزودن کلید** و سپس روی **ایجاد کلید جدید** کلیک کنید.
  11. برای **نوع کلید**، **JSON** را انتخاب کنید.
  12. روی Create کلیک کنید و کلید خصوصی در رایانه شما بارگیری می شود.
  13. روی **Close** کلیک کنید.
  14. فایل را به پوشه کاری خود منتقل کنید و نام آن را service_account_key.json تغییر دهید.

مرحله 2: کتابخانه مشتری Google را نصب کنید

برای نصب کتابخانه با استفاده از pip دستور زیر را اجرا کنید:

pip install --upgrade google-api-python-client oauth2client

برای گزینه های نصب مختلف، صفحه نصب کتابخانه را ببینید.

مرحله 3: نمونه را تنظیم کنید

فایلی به نام quickstart.py در فهرست کاری خود ایجاد کنید. کد زیر را کپی کنید و فایل را ذخیره کنید.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Zero-touch enrollment quickstart sample.

This script forms the quickstart introduction to the zero-touch enrollemnt
customer API. To learn more, visit https://developer.google.com/zero-touch
"""

import sys
from apiclient import discovery
import httplib2
from oauth2client.service_account import ServiceAccountCredentials

# A single auth scope is used for the zero-touch enrollment customer API.
SCOPES = ['https://www.googleapis.com/auth/androidworkzerotouchemm']
SERVICE_ACCOUNT_KEY_FILE = 'service_account_key.json'


def get_credential():
  """Creates a Credential object with the correct OAuth2 authorization.

  Uses the service account key stored in SERVICE_ACCOUNT_KEY_FILE.

  Returns:
    Credentials, the user's credential.
  """
  credential = ServiceAccountCredentials.from_json_keyfile_name(
    SERVICE_ACCOUNT_KEY_FILE, SCOPES)

  if not credential or credential.invalid:
    print('Unable to authenticate using service account key.')
    sys.exit()
  return credential


def get_service():
  """Creates a service endpoint for the zero-touch enrollment 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(httplib2.Http())
  return discovery.build('androiddeviceprovisioning', 'v1', http=http_auth)


def main():
  """Runs the zero-touch enrollment quickstart app.
  """
  # Create a zero-touch enrollment API service endpoint.
  service = get_service()

  # Get the customer's account. Because a customer might have more
  # than one, limit the results to the first account found.
  response = service.customers().list(pageSize=1).execute()

  if 'customers' not in response:
    # No accounts found for the user. Confirm the Google Account
    # that authorizes the request can access the zero-touch portal.
    print('No zero-touch enrollment account found.')
    sys.exit()
  customer_account = response['customers'][0]['name']

  # Send an API request to list all the DPCs available using the customer
  # account.
  results = service.customers().dpcs().list(parent=customer_account).execute()

  # Print out the details of each DPC.
  for dpc in results['dpcs']:
    # Some DPCs may not have a name, so replace with a marker.
    if 'dpcName' in dpc:
      dpcName = dpc['dpcName']
    else:
      dpcName = "-"
    print('Name:{0}  APK:{1}'.format(dpcName, dpc['packageName']))


if __name__ == '__main__':
  main()

مرحله 4: کلید حساب سرویس خود را اضافه کنید

service_account_key.json را که هنگام ایجاد حساب سرویس خود دانلود کرده اید در فهرست کاری خود کپی کنید.

مرحله 5: نمونه را اجرا کنید

برای اجرای اسکریپت در فایل از کمک سیستم عامل خود استفاده کنید. در کامپیوترهای یونیکس و مک، دستور زیر را در ترمینال خود اجرا کنید:

python quickstart.py

یادداشت

  • از به اشتراک گذاری فایل service_account_key.json خود با کسی خودداری کنید. مراقب باشید که آن را در مخازن کد منبع قرار ندهید. می توانید توصیه های بیشتری در مورد رسیدگی به اسرار حساب سرویس بخوانید.

بیشتر بدانید