ลงทะเบียนอุปกรณ์กับ REST API ด้วยตนเอง

หากต้องการพัฒนาอย่างรวดเร็ว คุณอาจใช้เครื่องมือลงทะเบียนที่มาพร้อม Google Assistant SDK เพื่อลงทะเบียนหรืออัปเดตรุ่นและอินสแตนซ์ของอุปกรณ์ได้อย่างรวดเร็ว

หากไม่ต้องการใช้เครื่องมือนี้ คุณจะลงทะเบียนหรืออัปเดตอุปกรณ์ด้วยตนเองได้โดยใช้ไฟล์ JSON และ REST API คุณสามารถทำได้ บนคอมพิวเตอร์เครื่องใดก็ได้ ก่อนอื่นให้รับโทเค็นเพื่อการเข้าถึง แล้วจึงข้ามไปยังส่วนที่เหมาะสม

รับโทเค็นเพื่อการเข้าถึง

  1. ตรวจสอบว่าเครื่องมือการให้สิทธิ์เป็นเวอร์ชันล่าสุด ดังนี้

    python -m pip install --upgrade google-auth-oauthlib[tool]

  2. รับข้อมูลเข้าสู่ระบบเพื่อลงทะเบียนรุ่นอุปกรณ์ใหม่ อ้างอิงไฟล์ JSON ที่คัดลอกไปยังอุปกรณ์ในขั้นตอน ก้าว

    google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
          --headless --client-secrets /path/to/client_secret_client-id.json

    คุณควรเห็น URL ปรากฏในเทอร์มินัล

    Please visit this URL to authorize this application: https://...

  3. คัดลอก URL และวางลงในเบราว์เซอร์ (ซึ่งทำบนเครื่องพัฒนาซอฟต์แวร์หรือเครื่องอื่นก็ได้) หลังจากที่คุณอนุมัติ รหัส จะปรากฏในเบราว์เซอร์ของคุณ เช่น "4/XXXX" คัดลอกและวางโค้ดนี้ ลงในเทอร์มินัล

    Enter the authorization code:

    หากการให้สิทธิ์สำเร็จ คุณจะเห็นการตอบสนอง JSON ที่คล้ายกับตัวอย่างต่อไปนี้

    {
       "scopes": ["https://www.googleapis.com/auth/assistant-sdk-prototype"],
       "token_uri": "https://accounts.google.com/o/oauth2/token",
       "token": "ya29.GlujBLa_kuXZ5GnGBPBe_A6NpczLcpOtglEC0wHVORnmEhHETzlSW",
       "client_id": "795595571889-6iesr9a3nkmnipbdfnqi6gehiklm2m28.apps.googleusercontent.com",
       "client_secret": "Un8_TNFnb55555auSAGasvAg",
       "refresh_token": "1/4ZMBhTR3bTYWVEMatYWLOxW755555hlQXZI5uC02F2U"
     }

    หากคุณเห็น UNAUTHENTICATED แทน แสดงว่ามีการป้อนรหัสที่ไม่ถูกต้อง ลองอีกครั้ง โดยคัดลอกและวางโค้ดทั้งหมด

  4. ค้นหา token ในการตอบกลับ JSON คัดลอกโทเค็นเพื่อการเข้าถึงนี้ (ไม่รวมเครื่องหมายคำพูดคู่) ลงในตัวแปรสภาพแวดล้อม ดังนี้

    ACCESSTOKEN=access-token

การดำเนินการของรุ่นอุปกรณ์

กำหนดและลงทะเบียนรุ่นอุปกรณ์

  1. สร้างไฟล์ (เช่น device_model.json) ซึ่งอธิบายลักษณะเฉพาะ ของรุ่นอุปกรณ์ ดูการอ้างอิง JSON ของรุ่นอุปกรณ์สำหรับข้อมูลเพิ่มเติม

  2. ลงทะเบียนรุ่นของอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id ที่เชื่อมโยงกับรุ่นอุปกรณ์ใน URL ด้านล่าง

    • ใช้คำสั่งต่อไปนี้

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
    • ส่งคำขอ HTTPS ที่มีแอตทริบิวต์ต่อไปนี้

    ไม่ว่าจะใช้วิธีใด เซิร์ฟเวอร์ควรส่งคืนสำเนา JSON ของรุ่นอุปกรณ์ที่คุณส่ง หากโมเดลมีอยู่แล้วในเซิร์ฟเวอร์ คุณจะได้รับข้อผิดพลาด ALREADY_EXISTS

ดาวน์โหลดรุ่นอุปกรณ์

รับรุ่นอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id และ device_model_id ที่เชื่อมโยงกับรุ่นอุปกรณ์ใน URL ด้านล่าง

ระบุรุ่นของอุปกรณ์

แสดงรายการรุ่นอุปกรณ์ทั้งหมดสำหรับโปรเจ็กต์ที่ระบุโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id ที่เชื่อมโยงกับรุ่นอุปกรณ์ใน URL ด้านล่าง

อัปเดตรุ่นอุปกรณ์

อัปเดตรุ่นอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id และ device_model_id ที่เชื่อมโยงกับรุ่นอุปกรณ์ของคุณ

ไม่ว่าจะใช้วิธีใด เซิร์ฟเวอร์ควรส่งคืนสำเนา JSON ของรุ่นอุปกรณ์ที่อัปเดตแล้วที่คุณส่ง

ลบรุ่นอุปกรณ์

ลบรุ่นอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id และ device_model_id ที่เชื่อมโยงกับรุ่นอุปกรณ์ใน URL ด้านล่าง

การดำเนินการอินสแตนซ์ของอุปกรณ์

กำหนดและลงทะเบียนอินสแตนซ์ของอุปกรณ์

  1. สร้างไฟล์ (เช่น test_device.json) ที่ระบุอุปกรณ์ของคุณ ดูการอ้างอิง JSON ของอินสแตนซ์อุปกรณ์สำหรับข้อมูลเพิ่มเติม

  2. ลงทะเบียนอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id ที่เชื่อมโยงกับรุ่นอุปกรณ์ใน URL ด้านล่าง

    • ใช้คำสั่งต่อไปนี้

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @test_device.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
    • ส่งคำขอ HTTPS ที่มีแอตทริบิวต์ต่อไปนี้

    ไม่ว่าจะใช้วิธีใด เซิร์ฟเวอร์ควรส่งคืนสำเนา JSON ของอินสแตนซ์อุปกรณ์ที่คุณส่ง หากมีอินสแตนซ์อยู่แล้วในเซิร์ฟเวอร์ คุณจะได้รับข้อผิดพลาด ALREADY_EXISTS

รับอินสแตนซ์ของอุปกรณ์

รับอินสแตนซ์ของอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id ที่เชื่อมโยงกับรุ่นอุปกรณ์และอุปกรณ์ id ใน URL ด้านล่าง

แสดงรายการอินสแตนซ์ของอุปกรณ์

แสดงรายการอินสแตนซ์อุปกรณ์ทั้งหมดสำหรับโปรเจ็กต์ที่ระบุโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมใช้ project_id ที่เชื่อมโยงกับอินสแตนซ์ของอุปกรณ์ใน URL ด้านล่างแทน

ลบอินสแตนซ์ของอุปกรณ์

ลบอินสแตนซ์ของอุปกรณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ อย่าลืมแทนที่ project_id ที่เชื่อมโยงกับรุ่นอุปกรณ์และอุปกรณ์ id ใน URL ด้านล่าง