[iOS Dev] Login with Google Account

วันนี้นั่ง POC Project เล่นๆ ตัวนึง เลยนำการ Login ด้วย Google Account มาแชร์ครับ
เผื่อว่าใครทำอะไรที่ต้องใช้ Google API ก็ต้องผ่านการ Authorization ก่อนทั้งหมดนั่นล่ะ

ก่อนที่จะไป Code กันก็ต้องไปจัดการเรื่อง Access Control กันก่อน ...
ขั้นแรกไปที่ Google API Console ด้านข้างเลือก API Access จะเจอหน้าจอนี้
ปุ่มสีน้ำเงินเลยครับ สร้าง OAuth 2.0 Client ID
ในหน้าแรกใส่แค่ชื่อ App ก็พอ
หน้านี้ให้เลือก Installed Application และเลือก Platform เป็น iOS จากนั้นก็ใส่ Bundle Identifier 
ตาม Project ที่เราสร้างขึ้นมานะครับ ดูได้ที่หน้า Summay เลย (ภาพล่าง)



พอเรียบร้อยแล้วเราก็จะได้ข้อมูลในการ Access Authentication API มาใช้ใน Project ของเรา :)
แน่นอนว่า Google ก็ไม่ได้ปล่อยให้เราเดียวดาย ได้จัด Google Toolkit: OAuth2 ให้เราได้ใช้กัน
ไป checkout code ที่นี่ได้เลย http://code.google.com/p/gtm-oauth2/source/browse/


เมื่อ checkout code ลงมาแล้ว สิ่งที่จะได้มาคือ Folder ตามนี้ (ซึ่งจะมีทั้ง Mac และ iOS)


Frameworks & Files ที่เราต้องนำเข้ามาในใช้ Project เพื่อทำ Authentication มีตามนี้นะ



** Library นี้ไม่ได้เขียนด้วย ARC นะครับ ... อย่าลืมไปใส่ Compiler Flags ที่ Build Phase ด้วย


เข้าสู่ขั้นตอนการ Implement กันละ ... ขั้นแรก import และ define ที่ได้มาจาก API Console


ค่า API Scope จะเป็นตัวบอกว่าเราจะเข้าถึง API อะไรบ้าง ? 
โดยถ้ามีหลายอันให้คั่นด้วย " " (whitespace)
ส่วนบริการนั้นมี API Scope อะไรดูได้ที่นี่ -> List of Google API Scope


** ที่ผมต้อง delay ไว้ 0.5 เพราะ Code ชุดนี้ถูกสั่งให้ทำงานตอน -viewDidLoad นะ
ใครจะใส่ใน Action อื่นๆ หลังจากที่ View โหลดเสร็จแล้ว (เช่นการกดปุ่ม) ก็ไม่ต้องทำหรอก :)


แค่นี้ก็เรียบร้อยแล้ว :) พอ Login เสร็จค่าที่ได้ก็จะมี Access Token และค่าอื่นๆ ให้เรานำไปใช้ต่อ
ค่าอื่นๆ ลองไปเปิดดูใน  GMTOAuth2Authentication Class นะครับ :)

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น