ใช้บัญชีบริการกับ Chrome Web Store API

Chrome เว็บสโตร์ API รองรับการตรวจสอบสิทธิ์โดยใช้บัญชีบริการของ Google Cloud บัญชีบริการเป็นบัญชีพิเศษที่ไม่ใช่บัญชีบุคคลซึ่งออกแบบมาสำหรับการโต้ตอบแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ จึงเหมาะอย่างยิ่งสำหรับการทำงานอัตโนมัติในเวิร์กโฟลว์การเผยแพร่ส่วนขยาย เช่น ในไปป์ไลน์ CI/CD หรือบริการแบ็กเอนด์อื่นๆ โดยสามารถอนุญาตให้ใช้ API ได้โดยไม่ต้องผ่านโฟลว์ OAuth ที่ผู้ใช้ต้องมีส่วนร่วมโดยตรง

การลิงก์บัญชีบริการกับแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์จะ ให้สิทธิ์ในการจัดการรายการที่เป็นของบัญชีผู้เผยแพร่โฆษณา

ตั้งค่า

ก่อนอื่น เราจะสร้างบัญชีบริการและให้สิทธิ์เข้าถึง Chrome เว็บ สโตร์ API

เปิดใช้ Chrome เว็บสโตร์ API

  1. ไปที่ Google Cloud Console
  2. สร้างโปรเจ็กต์ใหม่หรือเลือกโปรเจ็กต์ที่มีอยู่
    สร้างโปรเจ็กต์ใหม่ในคอนโซล Google
    สร้างโปรเจ็กต์ใหม่ใน Google Console
  3. พิมพ์ "Chrome Web Store API" ในแถบค้นหา
  4. เปิดใช้ Chrome เว็บสโตร์ API

สร้างบัญชีบริการ

การเพิ่มบัญชีบริการใหม่ในคอนโซล Google Cloud
การเพิ่มบัญชีบริการใหม่ใน Google Cloud Console

สร้างบัญชีบริการใน Google Cloud Console คุณไม่จำเป็นต้องเพิ่มสิทธิ์ใดๆ ให้กับบัญชีบริการในขั้นตอนนี้

เพิ่มบัญชีบริการในแดชบอร์ดสำหรับนักพัฒนาแอป

การเพิ่มบัญชีบริการใหม่ในแดชบอร์ดนักพัฒนาแอป
การเพิ่มบัญชีบริการใหม่ในแดชบอร์ดสำหรับนักพัฒนาแอป

ให้สิทธิ์เข้าถึง Chrome เว็บสโตร์ API แก่บัญชีบริการโดยการเพิ่ม อีเมลบัญชีบริการในแดชบอร์ดสำหรับนักพัฒนาแอปในส่วนบัญชี

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

หากต้องการใช้บัญชีบริการกับ Chrome Web Store API แอปพลิเคชันของคุณต้อง ขอโทเค็นการเข้าถึงที่เชื่อมโยงกับบัญชีบริการ คุณทำได้หลายวิธี ขึ้นอยู่กับว่าโค้ดแอปพลิเคชันทำงานที่ใดและค่ากำหนดด้านความปลอดภัย

การแอบอ้างเป็นบัญชีบริการ

คุณสามารถใช้เครื่องมือบรรทัดคำสั่ง gcloud เพื่อรับโทเค็นการเข้าถึงแบบมีอายุสั้น สำหรับบัญชีบริการ ซึ่งมักใช้สำหรับการพัฒนาในเครื่องหรือการเข้าถึง CLI

gcloud auth login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud config set project PROJECT_ID
gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT_EMAIL --scopes=https://www.googleapis.com/auth/chromewebstore
ACCESS_TOKEN=<The output from the last command>

จากนั้นส่งคำขอตามที่แสดงในบทแนะนำ

ใช้โทเค็นเว็บ JSON

หรือจะตรวจสอบสิทธิ์ผ่าน HTTP โดยตรงโดยใช้ JSON Web Token (JWT) ก็ได้ สร้างคีย์ JSON สำหรับบัญชีบริการใน Google Cloud Console

กล่องโต้ตอบการสร้างคีย์ใน Google Cloud Console
กล่องโต้ตอบการสร้างคีย์ใน Google Cloud Console

จากนั้นทำตามขั้นตอนในการสร้าง JWT และแลกเปลี่ยนเป็นโทเค็นเพื่อการเข้าถึง