Tuesday, May 20, 2014

Work Process-การขอ API Key (Android)

การขอ API Key (สำหรับการเรียกใช้ข้อมูลแผนที่ Google Map)

Google กำหนดให้นักพัฒนาต้องขอ API Key หากต้องการเรียกใช้ข้อมูลแผนที่ Google Map ใน App Android ทั้งนี้เพื่อที่ Google จะได้ตรวจสอบได้ว่าแผนที่ถูกใช้งานโดยใครบ้างและถูกนำไปใช้อย่างไร

Google APIs Console คือ เครื่องมือที่ Google ทำไว้ให้นักพัฒนาใช้บริหารจัดการการใช้งาน API ต่างๆของ google

มีขั้นตอนการขอ API Key ดังนี้

1. เริ่มต้นเข้าที่เว็ปไซต์ https://code.google.com/apis/console/ จะปรากฎหน้า Google APIs Console
* ต้องใช้บัญชีของ Google ในการดำเนินการ หากไม่มีให้สมัครแล้วทำการ Log in จะปรากฎหน้า "Start using the Google APIs console " ทำการคลิก Create Project... ดังภาพ


2. ระบบจะสร้างชื่อโปรเจ็คว่า APIs Project ขึ้นมาด้านมุมซ้ายบน ด้านล่างชื่อโปรเจ็คจะมีแถบเมนู ทำการเลือก Services  


3. ตอนนี้จะปรากฎหน้าต่าง All service ให้ทำการหา API ที่ชื่อว่า "Google Maps Android API v2" ทางด้านขวาชื่อ API จะมีสวิตซ์ สถานะ OFF ทำการ ON โดยคลิกที่สวิตซ์ ระบบจะทำการเข้าสู่การแสดงเงื่อนไขในการใช้งาน (Review terms of service) 


4. ที่หน้าเงื่อนไขในการใช้งาน (Review terms of service) ด้านล่างทำการติ้กเครื่องหมายหน้า "I Agree to these terms." แล้วกด Accept แล้วระบบจะกลับมาที่หน้าโปรเจ็คดังเดิม 


5. เลือกเมนู API Access ทางด้านซ้าย จะปรากฎหน้า API Access ด้านล่างจะมีปุ่ม Create new Android Key ... ให้ทำการคลิกแล้วจะปรากฎหน้าต่างใหม่ขึ้นมา

6. หน้าต่างใหม่จะปรากฎหน้า Configure Android Key for API Project 


This key can be deployed in your Android applications.
API requests are sent directly to Google from your clients' Android devices. Google verifies that each request originates from an Android application that matches one of the certificate SHA1 fingerprints and package names listed below.

You can discover the SHA1 fingerprint of your developer certificate using the following command:
keytool -list -v -keystore mystore.keystore


เราจะต้องนำข้อมูลที่เรียกว่า SHA1 fingerprint จาก certificate ที่ใช้ในการ sign app ตามด้วย package name ที่ต้องการใช้ API ตามหลัง 
เนื่องจากโปรแกรม Eclipse ได้มีการพัฒนาทำให้สามารถดูได้จากโปรแกรมได้เลย แต่ในที่นี้จะแนะนำวิธีในการหา SHA1 fingerprint สองวิธี 

วิธีที่ 1 (Eclipse เวอร์ชั่นเก่า)
ไปที่ Command Line แล้วเข้า Directory Folder Bin ใน โปรแกรม java 
ตัวอย่างเช่น cd C:\Program Files\Java\jdk1.7.0_45\bin (ที่อยู่หรือเลขเวอร์ชั่น JDK อยู่ที่เครื่องของแต่ละบุคคลไม่เหมือนกัน)
แล้วพิมพ์คำสั่งดังนี้ 
keytool -list -v -keystore "ชื่อ Path ของไฟล์ debug.keystore" -alias androiddebugkey -storepass android -keypass android 
*ไฟล์ debug.keystore คือไฟล์ที่เก็บ Debug Certificate ที่ ADT นำมา sign ให้กับแอพให้เราในช่วงพัฒนา โดยชือ Path นี้สามารถตรวจสอบได้จาก Eclipse Window>Preference>Android>Build>Default debug keystore 
ตัวอย่างเช่น keytool -list -v -keystore "C:\Users\USER\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 
จะปรากฎ Certificate fingerprints ดังภาพ


ก็จะได้ตัวเลขของ SHA1 fingerprint มา 

วิธีที่ 2 (Eclipse เวอร์ชั่นใหม่ v22.6.2-1085508 ที่ผู้เขียนใช้ปัจจุบัน)

เข้าที่โปรแกรม Eclipse ที่เมนูบาร์เลือก Window>Preference>Android>Build


จากรูปจะเห็นว่าจะบอกที่อยู่ของ debug.keystore ที่วิธีที่ 1 และบอก SHA1 fingerprint พร้อมทั้ง MD5 fingerprint พร้อมเสร็จ โดยที่หมายเลขของ SHA1 fingerprint ทั้งสองวิธีมีเลขเหมือนกัน

7. นำเลข SHA1 fingerprint ตามด้วยชื่อเครื่องหมาย semicolon แล้วจึงตามด้วยชื่อ package ของ Appication ที่จะนำมาสร้าง มากรอกในหน้าต่าง Configure Android Key for API Project แล้วคลิก Create 


8. หลังจากที่กด Create ก็จะมีกรอบ Key for Android apps (with certificates) เพิ่มขึ้นมา ซึ่งภายในกรอบจะปรากฏหมายเลข API Key  ซึ่งหมายเลข API นี้จะนำไปใช้ในโปรเจ็คแอนดรอยด์ต่อไป 





No comments:

Post a Comment