ส่วนนี้มีวิธีการเฉพาะสำหรับ Google Play Developer API ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบ OAuth2 ฉบับเต็ม
การกำหนดค่าเริ่มต้น
การเข้าถึง Google Play Android Developer API จะได้รับการตรวจสอบสิทธิ์โดยใช้ขั้นตอนเว็บเซิร์ฟเวอร์ OAuth 2.0 ก่อนที่จะใช้ API ได้ คุณจะต้องตั้งค่าโปรเจ็กต์คอนโซล API สร้างรหัสไคลเอ็นต์ และสร้างโทเค็นการรีเฟรช
การสร้างโปรเจ็กต์คอนโซล API
- ไปที่คอนโซล API แล้วเข้าสู่ระบบ ด้วยบัญชี Google Play Console
- เลือกสร้างโปรเจ็กต์
- ไปที่บริการในแผงการนำทางด้านซ้าย
- เปิด Google Play Android Developer API
- ยอมรับข้อกำหนดในการให้บริการ
- ไปที่การเข้าถึง API ในแผงการนำทางด้านซ้าย
- เลือกสร้างรหัสไคลเอ็นต์ OAuth 2.0
- ในหน้าแรก คุณจะต้องกรอกชื่อผลิตภัณฑ์ แต่ไม่จำเป็นต้องใส่โลโก้ โปรดทราบว่าผู้ใช้ปลายทางจะไม่เห็นชื่อผลิตภัณฑ์
- ในหน้าที่ 2 ให้เลือกเว็บแอปพลิเคชันและตั้งค่า URI เปลี่ยนเส้นทางและ ต้นทางของ JavaScript คุณเปลี่ยนการตั้งค่าทั้ง 2 อย่างนี้ได้ในภายหลัง
- เลือกสร้างรหัสไคลเอ็นต์
การสร้างโทเค็นการรีเฟรช
-
ขณะเข้าสู่ระบบด้วยบัญชี 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=...
- เลือกอนุญาตการเข้าถึงเมื่อได้รับข้อความแจ้ง
-
ระบบจะเปลี่ยนเส้นทางเบราว์เซอร์ไปยัง URI การเปลี่ยนเส้นทางของคุณพร้อมพารามิเตอร์
code
ซึ่งจะมีลักษณะคล้ายกับ4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI
-
แลกรหัสนี้เป็นคู่โทเค็นการเข้าถึงและโทเค็นสำหรับรีเฟรชโดยส่งคำขอ POST
ไปยัง
https://accounts.google.com/o/oauth2/token
พร้อมตั้งค่าฟิลด์ต่อไปนี้ การตอบกลับที่สำเร็จจะมีโทเค็นในรูปแบบ JSON ดังนี้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>
{ "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 อยู่ตลอด