การเริ่มต้นใช้งาน Python อย่างรวดเร็วสำหรับตัวแทนจำหน่าย

ทำตามขั้นตอนในคู่มือเริ่มใช้งานฉบับย่อนี้ แล้วในอีกประมาณ 10 นาที คุณก็จะมีแอปบรรทัดคำสั่ง Python ง่ายๆ ที่ส่งคำขอไปยัง API ตัวแทนจำหน่ายของ การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม

ข้อกำหนดเบื้องต้น

คุณต้องมีสิ่งต่อไปนี้เพื่อเรียกใช้การเริ่มต้นอย่างรวดเร็วนี้

  • บัญชี Google ซึ่งเป็นสมาชิกบัญชีตัวแทนจำหน่ายการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม หากยังไม่ได้เริ่มต้นใช้งาน ให้ทำตามขั้นตอนในเริ่มต้นใช้งานในคู่มือพอร์ทัลตัวแทนจำหน่าย
  • Python 2.6 ขึ้นไป
  • เครื่องมือจัดการแพ็กเกจ pip
  • อินเทอร์เน็ตและเว็บเบราว์เซอร์

ขั้นตอนที่ 1: เปิด API การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม

  1. ใช้วิซาร์ดนี้เพื่อสร้างหรือเลือกโปรเจ็กต์ใน Google Developers Console และเปิด API โดยอัตโนมัติ คลิกต่อไป แล้วคลิกไปที่ข้อมูลเข้าสู่ระบบ
  2. ตั้งค่าคุณจะเข้าถึงข้อมูลใดบ้างเป็นข้อมูลแอปพลิเคชัน
  3. คลิกถัดไป ระบบจะแจ้งให้คุณสร้างบัญชีบริการ
  4. ตั้งชื่อที่สื่อความหมายสำหรับชื่อบัญชีบริการ
  5. จดบันทึกรหัสบัญชีบริการ (มีลักษณะคล้ายอีเมล) เนื่องจากคุณจะต้องใช้รหัสนี้ในภายหลัง
  6. ตั้งค่าบทบาทเป็นบัญชีบริการ > ผู้ใช้บัญชีบริการ
  7. คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสมบูรณ์
  8. คลิกอีเมลของบัญชีบริการที่คุณสร้างขึ้น
  9. คลิก**กุญแจ**
  10. คลิก **เพิ่มคีย์** แล้วคลิก **สร้างคีย์ใหม่**
  11. เลือก **JSON** สำหรับ**ประเภทคีย์**
  12. คลิกสร้าง แล้วดาวน์โหลดคีย์ส่วนตัวลงในคอมพิวเตอร์
  13. คลิก**ปิด**
  14. ย้ายไฟล์ไปยังไดเรกทอรีทํางาน แล้วเปลี่ยนชื่อเป็น service_account_key.json
  1. เปิดพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม คุณอาจต้องลงชื่อเข้าใช้
  2. คลิก บัญชีบริการ
  3. คลิก ลิงก์บัญชีบริการ
  4. ตั้งค่าอีเมลเป็นที่อยู่ของบัญชีบริการที่คุณสร้างขึ้น
  5. คลิกลิงก์บัญชีบริการเพื่อใช้บัญชีบริการกับบัญชีการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม

ขั้นตอนที่ 3: ติดตั้งไลบรารีไคลเอ็นต์ Google

เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งไลบรารีโดยใช้ PIP

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

ดูหน้าการติดตั้งของไลบรารีเพื่อดูตัวเลือกการติดตั้งต่างๆ

ขั้นตอนที่ 4: ตั้งค่าตัวอย่าง

สร้างไฟล์ชื่อ quickstart.py ในไดเรกทอรีทํางาน คัดลอกโค้ดต่อไปนี้และบันทึกไฟล์ แทรก reseller partner ID ของคุณเองเป็นค่าสำหรับ 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 ต้องใช้รหัสพาร์ทเนอร์ตัวแทนจำหน่ายของคุณเป็นอาร์กิวเมนต์ หากต้องการดูรหัสพาร์ทเนอร์จากพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดพอร์ทัล คุณอาจต้องลงชื่อเข้าใช้
  2. คลิก บัญชีบริการ
  3. คัดลอกหมายเลขรหัสพาร์ทเนอร์จากบรรทัดรหัสตัวแทนจำหน่ายของคุณ

ขั้นตอนที่ 5: เรียกใช้ตัวอย่าง

ใช้ความช่วยเหลือของระบบปฏิบัติการเพื่อเรียกใช้สคริปต์ในไฟล์ ในคอมพิวเตอร์ที่ใช้ UNIX และ Mac ให้เรียกใช้คำสั่งด้านล่างในเทอร์มินัล

python quickstart.py

การพิมพ์คำตอบของ API

จัดรูปแบบข้อมูลการตอบกลับ JSON เพื่อให้ตรวจสอบการตอบกลับได้ง่ายขึ้นเมื่อลองใช้ API ข้อมูลโค้ดด้านล่างแสดงวิธีดำเนินการใน 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 โปรดอ่านการให้สิทธิ์

ดูข้อมูลเพิ่มเติม