สร้างแอปพลิเคชันบรรทัดคำสั่ง Python ที่ส่งคำขอไปยัง Postmaster Tools API
Quickstart อธิบายวิธีตั้งค่าและเรียกใช้แอปที่เรียกใช้ Google Workspace API การเริ่มต้นใช้งานฉบับย่อนี้ใช้วิธีการตรวจสอบสิทธิ์แบบง่ายที่เหมาะกับสภาพแวดล้อมการทดสอบ สําหรับสภาพแวดล้อมการใช้งานจริง เราขอแนะนําให้ศึกษาเกี่ยวกับ การตรวจสอบสิทธิ์และการให้สิทธิ์ ก่อน เลือกข้อมูลเข้าถึง ที่เหมาะสมกับแอปของคุณ
คู่มือเริ่มต้นฉบับนี้ใช้ไลบรารีของไคลเอ็นต์ API ที่ Google Workspace แนะนำ เพื่อจัดการรายละเอียดบางอย่างของขั้นตอนการตรวจสอบสิทธิ์และการให้สิทธิ์
วัตถุประสงค์
- ตั้งค่าสภาพแวดล้อม
- ติดตั้งไลบรารีของไคลเอ็นต์
- ตั้งค่าตัวอย่าง
- เรียกใช้ตัวอย่าง
ข้อกำหนดเบื้องต้น
หากต้องการเรียกใช้คู่มือเริ่มต้นฉบับย่อนี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้
- Python 3.10.7 ขึ้นไป
- เครื่องมือการจัดการแพ็กเกจ pip
- โปรเจ็กต์ Google Cloud
- บัญชี Google ที่เปิดใช้ Gmail
ตั้งค่าสภาพแวดล้อม
ตั้งค่าสภาพแวดล้อมเพื่อทำคู่มือเริ่มต้นฉบับย่อนี้ให้เสร็จสมบูรณ์
เปิดใช้ API
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้เปิดใช้ Postmaster Tools API ในคอนโซล Google Cloud
กำหนดค่าหน้าจอขอความยินยอม OAuth
หากใช้โปรเจ็กต์ Google Cloud ใหม่เพื่อทําให้คู่มือเริ่มต้นฉบับย่อนี้เสร็จสมบูรณ์ ให้กําหนดค่าหน้าจอขอความยินยอม OAuth หากคุณได้ ทำตามขั้นตอนนี้สำหรับโปรเจ็กต์ Cloud แล้ว ให้ข้ามไปยังส่วนถัดไป
- ในคอนโซล Google Cloud ให้ไปที่เมนู > Google Auth platform > การสร้างแบรนด์
- หากกำหนดค่า Google Auth platformแล้ว คุณจะกำหนดค่าการตั้งค่าหน้าจอขอความยินยอม OAuth ต่อไปนี้ได้ในการสร้างแบรนด์ กลุ่มเป้าหมาย และการเข้าถึงข้อมูล หากเห็นข้อความที่ระบุว่าGoogle Auth platform ยังไม่ได้กำหนดค่า ให้คลิกเริ่มต้นใช้งาน
- ในส่วนข้อมูลแอป ให้ป้อนชื่อแอปในชื่อแอป
- ในอีเมลสนับสนุนสำหรับผู้ใช้ ให้เลือกอีเมลสนับสนุนที่ผู้ใช้สามารถติดต่อคุณได้หากมีข้อสงสัยเกี่ยวกับการยินยอม
- คลิกถัดไป
- เลือกภายในในส่วนผู้ชม
- คลิกถัดไป
- ในส่วนข้อมูลติดต่อ ให้ป้อนอีเมลที่คุณต้องการรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงในโปรเจ็กต์
- คลิกถัดไป
- ในส่วนเสร็จสิ้น ให้อ่านนโยบายข้อมูลผู้ใช้ของบริการ Google API และหากยอมรับ ให้เลือกฉันยอมรับนโยบายข้อมูลผู้ใช้ของบริการ Google API
- คลิกต่อไป
- คลิกสร้าง
- ในตอนนี้ คุณข้ามการเพิ่มขอบเขตได้ ในอนาคต เมื่อสร้างแอปเพื่อใช้ภายนอกองค์กร Google Workspace คุณจะต้องเปลี่ยนประเภทผู้ใช้เป็นภายนอก จากนั้น เพิ่มขอบเขตการให้สิทธิ์ที่แอปของคุณต้องการ ดูข้อมูลเพิ่มเติมได้ที่คู่มือกำหนดค่าความยินยอม OAuth ฉบับเต็ม
ให้สิทธิ์ข้อมูลเข้าสู่ระบบสำหรับแอปพลิเคชันบนเดสก์ท็อป
หากต้องการตรวจสอบสิทธิ์ผู้ใช้ปลายทางและเข้าถึงข้อมูลผู้ใช้ในแอป คุณต้อง สร้างรหัสไคลเอ็นต์ OAuth 2.0 อย่างน้อย 1 รายการ รหัสไคลเอ็นต์ใช้เพื่อระบุ แอปเดี่ยวไปยังเซิร์ฟเวอร์ OAuth ของ Google หากแอปทำงานบนหลายแพลตฟอร์ม คุณต้องสร้างรหัสไคลเอ็นต์แยกต่างหากสำหรับแต่ละแพลตฟอร์ม- ในคอนโซล Google Cloud ให้ไปที่เมนู > Google Auth platform > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > แอปเดสก์ท็อป
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
- บันทึกไฟล์ JSON ที่ดาวน์โหลดเป็น
credentials.jsonแล้วย้ายไฟล์ ไปยังไดเรกทอรีการทำงาน
ติดตั้งไลบรารีของไคลเอ็นต์ Google
ติดตั้งไลบรารีของไคลเอ็นต์ Google สำหรับ Python โดยทำดังนี้
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
กำหนดค่าตัวอย่าง
- สร้างไฟล์ชื่อ
quickstart.pyในไดเรกทอรีการทำงาน ใส่รหัสต่อไปนี้ใน
quickstart.pyfrom __future__ import print_function import pickle import os.path from googleapiclient.discovery import build from google_auth_oauthlib.flow import InstalledAppFlow from google.auth.transport.requests import Request from googleapiclient import errors # If modifying these scopes, delete the file token.pickle. SCOPES = ['https://www.googleapis.com/auth/postmaster.readonly'] def main(): """Shows basic usage of the PostmasterTools v1beta1 API. Prints the visible domains on user's domain dashboard in https://postmaster.google.com/managedomains. """ creds = None # The file token.pickle stores the user's access and refresh tokens, and is # created automatically when the authorization flow completes for the first # time. if os.path.exists('token.pickle'): with open('token.pickle', 'rb') as token: creds = pickle.load(token) # If there are no (valid) credentials available, let the user log in. if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES) creds = flow.run_local_server(port=0) # Save the credentials for the next run with open('token.pickle', 'wb') as token: pickle.dump(creds, token) service = build('gmailpostmastertools', 'v1beta1', credentials=creds) domains = service.domains().list().execute() if not domains: print('No domains found.') else: print('Domains:') for domain in domains['domains']: print(domain) if __name__ == '__main__': main()
เรียกใช้ตัวอย่าง
ในไดเรกทอรีการทำงาน ให้สร้างและเรียกใช้ตัวอย่างโดยทำดังนี้
python3 quickstart.py
-
เมื่อเรียกใช้ตัวอย่างเป็นครั้งแรก ระบบจะแจ้งให้คุณให้สิทธิ์เข้าถึงโดยทำดังนี้
- หากยังไม่ได้ลงชื่อเข้าใช้บัญชี Google ให้ลงชื่อเข้าใช้เมื่อได้รับข้อความแจ้ง หากคุณลงชื่อเข้าใช้หลายบัญชี ให้เลือก 1 บัญชีเพื่อใช้สำหรับการให้สิทธิ์
- คลิกยอมรับ
แอปพลิเคชัน Python ของคุณจะเรียกใช้และเรียกใช้ Postmaster Tools API
ระบบจะจัดเก็บข้อมูลการให้สิทธิ์ไว้ในระบบไฟล์ ดังนั้นในครั้งถัดไปที่คุณเรียกใช้โค้ดตัวอย่าง ระบบจะไม่แจ้งให้คุณขอรับการให้สิทธิ์
ขั้นตอนถัดไป
- แก้ปัญหาการตรวจสอบสิทธิ์และการให้สิทธิ์
- เอกสารประกอบอ้างอิง REST ของ Postmaster Tools API
- เอกสารประกอบเกี่ยวกับไคลเอ็นต์ Google APIs สำหรับ Python
- เอกสารประกอบ PyDoc ของ Postmaster Tools API