43
Google API & Google Analytics 2016 寒寒寒寒寒簡簡簡簡 簡簡簡 2016/1/20 1

從Google API到Google Analytics 2016寒假宅學營

  • Upload
    -

  • View
    444

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 從Google API到Google Analytics  2016寒假宅學營

1

Google API & Google Analytics

《 2016 寒假宅學營》

簡報人員:許舜博日  期: 2016/1/20

Page 2: 從Google API到Google Analytics  2016寒假宅學營

outline

2

1.何謂 API

2.Google API

3.OAuth2.0

4.Google Analytics

Page 3: 從Google API到Google Analytics  2016寒假宅學營

outline

3

1.何謂 API

2.Google API

3.OAuth2.0

4.Google Analytics

Page 4: 從Google API到Google Analytics  2016寒假宅學營

API

4

• Application Programming Interface(應用程式介面 ),就是軟體系統不同組成部分銜接的約定。• 由於近年來軟體的規模日益龐大,常常會需要把複雜的系統劃分成小的組成部分,因此 API的設計十分重要。• 良好的 API設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,進而提高系統的維護性和擴展性。

好的 API 不會讓你上天堂,但可減輕你的負擔

Page 5: 從Google API到Google Analytics  2016寒假宅學營

API 的任性

5

• API通常由通常跟隨著某程式服務,當原服務升級或改版,API可能也需要跟著升級改版。

• API供應端不會顧慮使用者層面亦無道義可言。

Page 6: 從Google API到Google Analytics  2016寒假宅學營

outline

6

1.何謂 API

2.Google API

3.OAuth2.0

4.Google Analytics

Page 7: 從Google API到Google Analytics  2016寒假宅學營

Google API

7

Google從早期提供 App Engine使用的 SDK到 Google Data API,漸漸得演變成以 RESTful為主的 API模式。

近期, RESTful API的模式幾乎統一了整個 Google APIs的呼叫,甚至新一代的雲端服務,都以 RESTful API為優先考量。

Page 8: 從Google API到Google Analytics  2016寒假宅學營

Google API

8

Google API的管理介面整合到Cloud Console(https://console.developers.google.com/)

Page 9: 從Google API到Google Analytics  2016寒假宅學營

Google Developers Console

9

開發者可以在這邊清楚的瞭解目前使用該 API的狀態。

Page 10: 從Google API到Google Analytics  2016寒假宅學營

Google Map

10

Page 11: 從Google API到Google Analytics  2016寒假宅學營

Google Map

11

Google Map、 GPS• Location Base Game(適地性遊戲 )• 路徑紀錄

Page 12: 從Google API到Google Analytics  2016寒假宅學營

Google Calendar

12

Page 13: 從Google API到Google Analytics  2016寒假宅學營

YouTube

13

• 崁入 YouTube影片,增加互動性。• 管理影片。

Page 14: 從Google API到Google Analytics  2016寒假宅學營

延伸應用

14

有了這些 Google API我們能夠使用 Google提供的服務,不管是Web應用程式還是手機 APP,更輕鬆地站在巨人的肩膀上做不同的應用。

Page 15: 從Google API到Google Analytics  2016寒假宅學營

社群帳號登入

15

Page 16: 從Google API到Google Analytics  2016寒假宅學營

社群帳號登入

16

Page 17: 從Google API到Google Analytics  2016寒假宅學營

Google 帳號登入

17

過去 現在

Page 18: 從Google API到Google Analytics  2016寒假宅學營

outline

18

1.何謂 API

2.Google API

3.OAuth2.0

4.Google Analytics

Page 19: 從Google API到Google Analytics  2016寒假宅學營

如何使用 Google 帳號登入 ?

19

• Google OAuth2.0 驗證OAuth是一個關於授權( Authorization)的開放網絡標準,在全世界得到廣泛應用,目前的版本是 2.0版。規格書:The OAuth 2.0 Authorization Framework (RFC 6749)。

Page 20: 從Google API到Google Analytics  2016寒假宅學營

應用場景

20

EX:有一個「照片修圖的網站」,可以將用戶儲存在 Google上的照片,依喜好調整照片補光、修圖。今天「老梅」為了想要換一張帥氣的大頭照而使用該網站的服務,必須讓「照片修圖的網站」讀取自己儲存在 Google上的照片。

問題是只有得到「老梅」的授權, Google 才會同意「照片修圖的網站」讀取這些照片。那麼, 「照片修圖的網站」怎樣獲得用戶的授權呢?

Page 21: 從Google API到Google Analytics  2016寒假宅學營

傳統方法

21

「老梅」將自己的 Google用帳號和密碼,告訴「照片修圖的網站」以便讀取的照片。這樣的做法有以下幾個嚴重的缺點:Χ 「照片修圖的網站」為了後續的服務,會保存用戶的密碼,這樣很不安全。Χ 「照片修圖的網站」擁有了獲取用戶儲存在 Google 所有資料的權力, 「老梅」無

法限制「照片修圖的網站」獲得授權的範圍和有效期。Χ 「老梅」只有修改密碼,才能收回賦予「照片修圖的網站」的權力。但是這樣做,會使得其他所有獲得授權的第三方應用程序全部失效。

Χ 只要有一個第三方應用程序被破解,就會導致用戶密碼洩漏,以及所有被密碼保護的數據洩漏。 OAuth 就是為了解決上面這些問題而誕生的

Page 22: 從Google API到Google Analytics  2016寒假宅學營

名詞定義

22

詳細講解 OAuth 2.0 之前,先介紹以下幾個專有名詞:

• Client:客戶端,又稱 " 第三方應用程式 "(Third-party application),即例子中的「照片修圖的網站」 。

• Resource Owner:資源所有者,又稱 "用戶 " (user),即例子中的「老梅」。• Authorization server:認證伺服器,即服務供應商 (Google)管理所有授權

事務的伺服器。• Resource server:資源伺服器,服務供應商存放用戶資源的伺服器,即例子

中 Google存放「老梅」照片的地方。

Page 23: 從Google API到Google Analytics  2016寒假宅學營

OAuth 的思路

23

「老梅」透過「認證伺服器」授權給「照片修圖的網站」讀取 Google上儲存「老梅」的「照片伺服器」。

Resource Owner

Client

Authorization server

Resource server

Page 24: 從Google API到Google Analytics  2016寒假宅學營

OAuth 運行流程

24

「老梅」

「照片修圖的網站」

認證伺服器

照片伺服器摘自 RFC 6749

Page 25: 從Google API到Google Analytics  2016寒假宅學營

客戶端的授權模式

25

上述 A~F 步驟中,可以看出 B 是關鍵 ( 用戶怎樣才能給於客戶端授權 ) 。有了這個授權以後,客戶端就可以獲取 Token ,進而獲取資源。

• OAuth 2.0 定義了四種授權方式:1. 授權碼模式( Authorization Code)2. 簡化模式( Implicit)3. 密碼模式( Resource Owner Password Credentials)4. 客戶端模式( Client Credentials)

Page 26: 從Google API到Google Analytics  2016寒假宅學營

1. 授權碼模式 (Authorization Code)

26

瀏覽器

授權碼模式( Authorization Code )是功能最完整、流程最嚴密的授權模式。

Page 27: 從Google API到Google Analytics  2016寒假宅學營

是否給予客戶端授權

27

Page 28: 從Google API到Google Analytics  2016寒假宅學營

2. 簡化模式 (Implicit)

28

Page 29: 從Google API到Google Analytics  2016寒假宅學營

3. 密碼模式(Resource Owner Password Credentials)

29

通常用在用戶對客戶端高度信任的情況下,比如客戶端是操作系統的一部分,或者由一個著名公司出品。而認證服務器只有在其他授權模式無法執行的情況下,才能考慮使用這種模式,很少服務供應商支援。。

Page 30: 從Google API到Google Analytics  2016寒假宅學營

4. 客戶端模式 (Client Credentials)

30

客戶端以自己的名義,而不是以用戶的名義,向「服務提供商」進行認證。EX :存取公開資料,很少服務提供商會支援。

Page 31: 從Google API到Google Analytics  2016寒假宅學營

OAuth 2.0 實作

31

Service 支援的 Grant Types Client 認證Google Authorization Code, Implicit POST

Facebook Authorization Code, Implicit, Client Cred. GET

建立開發者專用金鑰

Page 32: 從Google API到Google Analytics  2016寒假宅學營

設定授權頁面

32

實際頁面與授權頁面不同就不會賦予認證。

Page 33: 從Google API到Google Analytics  2016寒假宅學營

OAuth2.0 驗證應用

33

除了上述更具安全性以外,整合第三方應用程式存取服務供應商個人資料的一套規則, OAuth2.0 驗證是一個協定。同時引用 FaceBook 登入與 Google 登入,有別以往需引入各自的 SDK根據各自不同的規則開發。有了 OAuth2.0 這套協定以後,可以用同一套規則做到各大社群的認證,讓開發者更方便快速進行開發與偵錯。

Page 34: 從Google API到Google Analytics  2016寒假宅學營

outline

34

1.何謂 API

2.Google API

3.OAuth2.0

4.Google Analytics

Page 35: 從Google API到Google Analytics  2016寒假宅學營

Google Analytics

35

改善使用者介面經驗的最佳研究方法 網站流量分析能提供那些有用資訊

►網站每天訪客數量網站平均轉換率►網站訪客來源地理分佈►網站每天訪客► - 瀏覽數最高的網頁頁面訪客在網站的平均停留時間►

網站醫生

Page 36: 從Google API到Google Analytics  2016寒假宅學營

Google Analytics 的優勢

36

無須軟體使用費 支援應用程式介面 (API)

客製化流量分析報表 查看功能介面

圖出自於 e-nor,結果發現 GA 的市占率高達 67%

Page 37: 從Google API到Google Analytics  2016寒假宅學營

Google Analytics 運作原理

37

崁入 Google AnalyticsTracking Code(GATC)

網站訪客

造訪網站 Google分析伺服器

訪客行為報表

分析者

Page 38: 從Google API到Google Analytics  2016寒假宅學營

Google Analytics 介面

38

Page 39: 從Google API到Google Analytics  2016寒假宅學營

Google Analytics API

39

有效組合 - 並非所有的維度和指標可以查詢在一起。只有某些維度和指標可以一起使用,以創建有效的組合。出自 Google Analytics Core Reporting API

Page 40: 從Google API到Google Analytics  2016寒假宅學營

Google Analytics API 應用

40

因此有了 Google Analytics API我們能夠透過 Oauth2.0 驗證取得Google Analytics 服務下的各樣資訊,方便我們網站做更多的規劃。

Page 41: 從Google API到Google Analytics  2016寒假宅學營

API 延伸應用

41

服務供應商、企業近年來開放資料與應用程式提供合作夥伴、開發人員、行動運算應用。API 提供了一個標準,橫跨行動裝置、網路 、服務與雲端開放資訊資產。為了能夠使 API 更有效的分享資訊以及資訊安全上的考量並且須符合經濟效益。企業必須能夠應付安全性、效能管理,以及資料運用的重大挑戰。API 管理套件衍生而出,結合先進的功能供後端整合、行動最佳化、雲端管理以及開發人員管理使用。

Page 43: 從Google API到Google Analytics  2016寒假宅學營

43

Thank You~