การให้สิทธิ์

ส่วนนี้มีวิธีการเฉพาะสำหรับ Google Play Developer API ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบ OAuth2 ฉบับเต็ม

การกำหนดค่าเริ่มต้น

การเข้าถึง Google Play Android Developer API จะได้รับการตรวจสอบสิทธิ์โดยใช้ขั้นตอนเว็บเซิร์ฟเวอร์ OAuth 2.0 ก่อนที่จะใช้ API ได้ คุณจะต้องตั้งค่าโปรเจ็กต์คอนโซล API สร้างรหัสไคลเอ็นต์ และสร้างโทเค็นการรีเฟรช

การสร้างโปรเจ็กต์คอนโซล API

  1. ไปที่คอนโซล API แล้วเข้าสู่ระบบ ด้วยบัญชี Google Play Console
  2. เลือกสร้างโปรเจ็กต์
  3. ไปที่บริการในแผงการนำทางด้านซ้าย
  4. เปิด Google Play Android Developer API
  5. ยอมรับข้อกำหนดในการให้บริการ
  6. ไปที่การเข้าถึง API ในแผงการนำทางด้านซ้าย
  7. เลือกสร้างรหัสไคลเอ็นต์ OAuth 2.0
    • ในหน้าแรก คุณจะต้องกรอกชื่อผลิตภัณฑ์ แต่ไม่จำเป็นต้องใส่โลโก้ โปรดทราบว่าผู้ใช้ปลายทางจะไม่เห็นชื่อผลิตภัณฑ์
    • ในหน้าที่ 2 ให้เลือกเว็บแอปพลิเคชันและตั้งค่า URI เปลี่ยนเส้นทางและ ต้นทางของ JavaScript คุณเปลี่ยนการตั้งค่าทั้ง 2 อย่างนี้ได้ในภายหลัง
  8. เลือกสร้างรหัสไคลเอ็นต์

การสร้างโทเค็นการรีเฟรช

  1. ขณะเข้าสู่ระบบด้วยบัญชี Google Play Console ให้ไปที่ URI ต่อไปนี้
    https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=...&client_id=...
  2. เลือกอนุญาตการเข้าถึงเมื่อได้รับข้อความแจ้ง
  3. ระบบจะเปลี่ยนเส้นทางเบราว์เซอร์ไปยัง URI การเปลี่ยนเส้นทางของคุณพร้อมพารามิเตอร์ code ซึ่งจะมีลักษณะคล้ายกับ 4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI
  4. แลกรหัสนี้เป็นคู่โทเค็นการเข้าถึงและโทเค็นสำหรับรีเฟรชโดยส่งคำขอ POST ไปยัง https://accounts.google.com/o/oauth2/token พร้อมตั้งค่าฟิลด์ต่อไปนี้
    grant_type=authorization_code
    code=<the code from the previous step>
    client_id=<the client ID token created in the APIs Console>
    client_secret=<the client secret corresponding to the client ID>
    redirect_uri=<the URI registered with the client ID>
    
    การตอบกลับที่สำเร็จจะมีโทเค็นในรูปแบบ JSON ดังนี้
    {
      "access_token" : "ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM",
      "token_type" : "Bearer",
      "expires_in" : 3600,
      "refresh_token" : "1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho"
    }
    

การเข้าถึง API

เมื่อสร้างข้อมูลเข้าสู่ระบบของไคลเอ็นต์และโทเค็นการรีเฟรชแล้ว เซิร์ฟเวอร์จะเข้าถึง API ได้โดยไม่ต้องมีการเข้าสู่ระบบที่ใช้งานอยู่หรือการแทรกแซงจากมนุษย์

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

เซิร์ฟเวอร์สามารถเรียกใช้ API ได้โดยส่งโทเค็นเพื่อการเข้าถึงในส่วนหัว Authorization ของคำขอ

Authorization: Bearer oauth2-token

การใช้โทเค็นการรีเฟรช

โทเค็นเพื่อการเข้าถึงแต่ละรายการจะใช้งานได้ภายในเวลาอันสั้นเท่านั้น เมื่อโทเค็นเพื่อการเข้าถึงปัจจุบันหมดอายุ เซิร์ฟเวอร์จะต้องใช้โทเค็นการรีเฟรชเพื่อรับโทเค็นใหม่ หากต้องการทำเช่นนี้ ให้ส่งคำขอ POST ไปยัง https://accounts.google.com/o/oauth2/token โดยตั้งค่าฟิลด์ต่อไปนี้

grant_type=refresh_token
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
refresh_token=<the refresh token from the previous step>

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

{
  "access_token" : "ya29.AHES3ZQ_MbZCwac9TBWIbjW5ilJkXvLTeSl530Na2",
  "token_type" : "Bearer",
  "expires_in" : 3600,
}

ดังนั้น Refresh Token จึงช่วยให้เว็บเซิร์ฟเวอร์เข้าถึง API ได้อย่างต่อเนื่องโดยไม่ต้อง ลงชื่อเข้าใช้บัญชี Google อยู่ตลอด