مراحل این راهنمای شروع سریع را دنبال کنید و در عرض حدود 10 دقیقه یک برنامه خط فرمان ساده پایتون خواهید داشت که درخواستهایی را به API توزیعکننده ثبت نام بدون لمس ارسال میکند.
پیش نیازها
برای اجرای این شروع سریع، به موارد زیر نیاز دارید:
- یک حساب Google، که عضوی از حساب فروشنده ثبت نام بدون لمس شما است. اگر هنوز وارد نشدهاید، مراحل «شروع به کار» در راهنمای پورتال Reseller را دنبال کنید.
- پایتون 2.6 یا بالاتر.
- ابزار مدیریت بسته پیپ .
- دسترسی به اینترنت و مرورگر وب.
مرحله 1: API ثبت نام بدون لمس را روشن کنید
- از این جادوگر برای ایجاد یا انتخاب یک پروژه در Google Developers Console استفاده کنید و به طور خودکار API را روشن کنید. روی Continue کلیک کنید، سپس به اعتبارنامه بروید .
- تنظیم کنید به چه داده هایی دسترسی خواهید داشت؟ به داده های برنامه
- روی Next کلیک کنید. باید از شما خواسته شود که یک حساب خدمات ایجاد کنید.
- یک نام توصیفی برای نام حساب سرویس بدهید.
- به شناسه حساب سرویس توجه کنید (به نظر می رسد یک آدرس ایمیل است) زیرا بعداً از آن استفاده خواهید کرد.
- نقش را روی حسابهای سرویس > کاربر حساب سرویس تنظیم کنید.
- برای تکمیل ساخت حساب سرویس روی Done کلیک کنید.
- روی آدرس ایمیل حساب سرویسی که ایجاد کردید کلیک کنید.
- روی **کلیدها** کلیک کنید.
- روی **افزودن کلید** و سپس روی **ایجاد کلید جدید** کلیک کنید.
- برای **نوع کلید**، **JSON** را انتخاب کنید.
- روی Create کلیک کنید و کلید خصوصی در رایانه شما بارگیری می شود.
- روی **Close** کلیک کنید.
- فایل را به پوشه کاری خود منتقل کنید و نام آن را
service_account_key.json
تغییر دهید.
مرحله 2: حساب سرویس را پیوند دهید
- پورتال ثبت نام بدون لمس را باز کنید. شاید لازم باشد وارد شوید.
- روی Service accounts کلیک کنید.
- روی حساب سرویس پیوند کلیک کنید.
- آدرس ایمیل را به آدرس حساب سرویسی که ایجاد کردید تنظیم کنید.
- برای استفاده از حساب سرویس با حساب ثبت نام بدون لمس خود، روی پیوند حساب سرویس کلیک کنید.
مرحله 3: کتابخانه مشتری Google را نصب کنید
برای نصب کتابخانه با استفاده از pip دستور زیر را اجرا کنید:
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: نمونه را اجرا کنید
برای اجرای اسکریپت در فایل از کمک سیستم عامل خود استفاده کنید. در کامپیوترهای یونیکس و مک، دستور زیر را در ترمینال خود اجرا کنید:
python quickstart.py
چاپ پاسخ های API
برای آسانتر کردن بازرسی پاسخها هنگام امتحان کردن API، دادههای پاسخ JSON را قالببندی کنید. قطعه زیر نشان می دهد که چگونه می توانید این کار را در پایتون با استفاده از ماژول 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)
عیب یابی
به ما بگویید چه مشکلی در شروع سریع رخ داده است و ما برای رفع آن تلاش خواهیم کرد. برای آشنایی با نحوه استفاده zero-touch از حسابهای سرویس برای تأیید تماسهای API، مجوز را بخوانید.