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

ส่วนนี้ประกอบด้วยวิธีการสำหรับ 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 การตั้งค่าทั้งสองนี้สามารถเปลี่ยนแปลงได้ในภายหลัง
  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,
}

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