การเริ่มต้นใช้งาน Python อย่างรวดเร็วสำหรับลูกค้าที่ใช้บัญชีบริการ
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ทำตามขั้นตอนในคู่มือเริ่มใช้งานฉบับย่อนี้ และในอีกประมาณ 10 นาทีคุณก็จะได้
แอปบรรทัดคำสั่ง Python ง่ายๆ ที่ส่งคำขอไปยังการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม
การลงทะเบียน API ลูกค้าโดยใช้บัญชีบริการ
ข้อกำหนดเบื้องต้น
หากต้องการเรียกใช้การเริ่มต้นอย่างรวดเร็วนี้ คุณต้องมีสิ่งต่อไปนี้
- บัญชีบริการที่ลิงก์กับบัญชีการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่มของคุณ
ของคุณได้ โปรดดูเริ่มต้นใช้งาน
- Python 3.0 ขึ้นไป
- การจัดการแพ็กเกจ pip
ของ Google
- อินเทอร์เน็ตและเว็บเบราว์เซอร์
ขั้นตอนที่ 1: เปิด API การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม
- ใช้วิซาร์ดนี้เพื่อสร้างหรือเลือกโปรเจ็กต์ใน Google Developers Console และเปิด API โดยอัตโนมัติ คลิกต่อไป แล้วคลิกไปที่ข้อมูลเข้าสู่ระบบ
- ตั้งค่าคุณต้องการเข้าถึงข้อมูลใดเป็นข้อมูลแอปพลิเคชัน
- คลิกถัดไป คุณควรได้รับแจ้งให้สร้างบริการ
ของคุณได้
- ตั้งชื่อที่สื่อความหมายสำหรับชื่อบัญชีบริการ
- จดบันทึกรหัสบัญชีบริการ (มีลักษณะคล้ายอีเมล) เนื่องจากคุณจะต้องใช้รหัสนี้ในภายหลัง
- ตั้งค่าบทบาทเป็นบัญชีบริการ > ผู้ใช้บัญชีบริการ
- คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสิ้น
- คลิกอีเมลของบัญชีบริการที่คุณสร้างขึ้น
- คลิก**กุญแจ**
- คลิก**เพิ่มคีย์** แล้วคลิก**สร้างคีย์ใหม่**
- เลือก **JSON** สำหรับ**ประเภทคีย์**
- คลิกสร้าง แล้วดาวน์โหลดคีย์ส่วนตัวลงในคอมพิวเตอร์
- คลิก **ปิด**
- ย้ายไฟล์ไปยังไดเรกทอรีทํางาน แล้วเปลี่ยนชื่อเป็น
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: เรียกใช้ตัวอย่าง
ใช้ความช่วยเหลือของระบบปฏิบัติการเพื่อเรียกใช้สคริปต์ในไฟล์ ในคอมพิวเตอร์ที่ใช้ UNIX และ Mac ให้เรียกใช้คำสั่งด้านล่างในเทอร์มินัล
python quickstart.py
หมายเหตุ
- หลีกเลี่ยงการแชร์ไฟล์
service_account_key.json
กับผู้อื่น โปรดระมัดระวัง
ไม่ให้รวมไว้ในที่เก็บซอร์สโค้ด อ่านคําแนะนําเพิ่มเติมเกี่ยวกับการจัดการข้อมูลลับของบัญชีบริการ
ดูข้อมูลเพิ่มเติม
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-29 UTC
[null,null,["อัปเดตล่าสุด 2025-08-29 UTC"],[[["\u003cp\u003eThis quickstart guide helps you create a simple Python command-line app that interacts with the zero-touch enrollment customer API using a service account in about 10 minutes.\u003c/p\u003e\n"],["\u003cp\u003eYou will need a service account linked to your zero-touch enrollment customer account, Python 3.0 or greater, the pip package management tool, internet access, and a web browser to run this guide.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves enabling the zero-touch enrollment API, installing the Google client library, setting up the sample code, and adding your downloaded service account key file, along with running the sample file.\u003c/p\u003e\n"],["\u003cp\u003eThe sample code demonstrates how to authenticate using a service account key, create a service endpoint for the zero-touch enrollment API, retrieve customer account information, and list available device policy controllers (DPCs).\u003c/p\u003e\n"],["\u003cp\u003eIt is crucial to manage the \u003ccode\u003eservice_account_key.json\u003c/code\u003e file securely, avoiding sharing or including it in source code repositories, as it poses a security risk if mishandled.\u003c/p\u003e\n"]]],["First, enable the zero-touch enrollment API and create a service account, noting its ID. Assign the \"Service Account User\" role, generate a JSON key, download it, and rename it to `service_account_key.json`. Next, install the Google client library using `pip`. Create `quickstart.py`, copy the provided Python code, and save it. Place the renamed key file into your working directory. Finally, run the `quickstart.py` script via the command line.\n"],null,["# Python quickstart for customers using a service account\n\nFollow the steps in this quickstart guide, and in about 10 minutes you have\na simple Python command-line app that makes requests to the zero-touch\nenrollment customer API using a service account.\n\nPrerequisites\n-------------\n\nTo run this quickstart, you need:\n\n- A service account, that's linked to you zero-touch enrollment customer account. See [Get\n started](/zero-touch/guides/customer/service-accounts).\n- Python 3.0 or greater.\n- The [pip](https://pypi.python.org/pypi/pip) package management tool.\n- Access to the internet and a web browser.\n\nStep 1: Turn on the zero-touch enrollment API\n---------------------------------------------\n\n1. Use [this\n wizard](https://console.developers.google.com/start/api?id=androiddeviceprovisioning.googleapis.com) to create or select a project in the Google Developers Console and automatically turn on the API. Click **Continue** , then **Go to credentials**.\n2. Set **What data will you be accessing?** to *Application data*.\n3. Click **Next**. You should be prompted to create a service account.\n4. Give a descriptive name for **Service account name**.\n5. Note the **Service account ID** (it looks like an email address) because you'll use it later.\n6. Set **Role** to *Service Accounts \\\u003e Service Account User*.\n7. Click **Done** to finish creating the service account.\n8. Click the email address for the service account that you created.\n9. Click \\*\\*Keys\\*\\*.\n10. Click \\*\\*Add key\\*\\*, then click \\*\\*Create new key\\*\\*.\n11. For \\*\\*Key type\\*\\*, select \\*\\*JSON\\*\\*.\n12. Click **Create** and the private key downloads to your computer.\n13. Click \\*\\*Close\\*\\*.\n14. Move the file to your working directory and rename it `service_account_key.json`.\n\n| **Warning:** Service account keys can become a security risk if not managed carefully. For advice see [best practices for managing API keys](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys).\n\nStep 2: Install the Google client library\n-----------------------------------------\n\nRun the following command to install the library using pip: \n\n pip install --upgrade google-api-python-client oauth2client\n\nSee the library's [installation\npage](/api-client-library/python/start/installation) for different installation\noptions.\n\nStep 3: Set up the sample\n-------------------------\n\nCreate a file named `quickstart.py` in your working directory. Copy in the\nfollowing code and save the file. \n\n```python\n#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\"\"\"Zero-touch enrollment quickstart sample.\n\nThis script forms the quickstart introduction to the zero-touch enrollemnt\ncustomer API. To learn more, visit https://developer.google.com/zero-touch\n\"\"\"\n\nimport sys\nfrom apiclient import discovery\nimport httplib2\nfrom oauth2client.service_account import ServiceAccountCredentials\n\n# A single auth scope is used for the zero-touch enrollment customer API.\nSCOPES = ['https://www.googleapis.com/auth/androidworkzerotouchemm']\nSERVICE_ACCOUNT_KEY_FILE = 'service_account_key.json'\n\n\ndef get_credential():\n \"\"\"Creates a Credential object with the correct OAuth2 authorization.\n\n Uses the service account key stored in SERVICE_ACCOUNT_KEY_FILE.\n\n Returns:\n Credentials, the user's credential.\n \"\"\"\n credential = ServiceAccountCredentials.from_json_keyfile_name(\n SERVICE_ACCOUNT_KEY_FILE, SCOPES)\n\n if not credential or credential.invalid:\n print('Unable to authenticate using service account key.')\n sys.exit()\n return credential\n\n\ndef get_service():\n \"\"\"Creates a service endpoint for the zero-touch enrollment API.\n\n Builds and returns an authorized API client service for v1 of the API. Use\n the service endpoint to call the API methods.\n\n Returns:\n A service Resource object with methods for interacting with the service.\n \"\"\"\n http_auth = get_credential().authorize(httplib2.Http())\n return discovery.build('androiddeviceprovisioning', 'v1', http=http_auth)\n\n\ndef main():\n \"\"\"Runs the zero-touch enrollment quickstart app.\n \"\"\"\n # Create a zero-touch enrollment API service endpoint.\n service = get_service()\n\n # Get the customer's account. Because a customer might have more\n # than one, limit the results to the first account found.\n response = service.customers().list(pageSize=1).execute()\n\n if 'customers' not in response:\n # No accounts found for the user. Confirm the Google Account\n # that authorizes the request can access the zero-touch portal.\n print('No zero-touch enrollment account found.')\n sys.exit()\n customer_account = response['customers'][0]['name']\n\n # Send an API request to list all the DPCs available using the customer\n # account.\n results = service.customers().dpcs().list(parent=customer_account).execute()\n\n # Print out the details of each DPC.\n for dpc in results['dpcs']:\n # Some DPCs may not have a name, so replace with a marker.\n if 'dpcName' in dpc:\n dpcName = dpc['dpcName']\n else:\n dpcName = \"-\"\n print('Name:{0} APK:{1}'.format(dpcName, dpc['packageName']))\n\n\nif __name__ == '__main__':\n main()\n```\n\nStep 4: Add your service account key\n------------------------------------\n\nCopy the `service_account_key.json` you downloaded when you created your\nservice account into your working directory.\n\nStep 5: Run the sample\n----------------------\n\nUse your operating system's help to run the script in the file. On UNIX and Mac\ncomputers, run the command below in your terminal: \n\n python quickstart.py\n\nNotes\n-----\n\n- Avoid sharing your `service_account_key.json` file with anyone. Be careful not to include it in source code repositories. You can read more advice on [handling service account secrets](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys).\n\nLearn more\n----------\n\n- [Google Developers Console help documentation](/console/help/new)\n- [Google APIs Client for Python documentation](/api-client-library/python)\n- [pip User Guide](https://pip.pypa.io/en/stable/user_guide/)"]]