SlideShare une entreprise Scribd logo
1  sur  43
Google API &
Google Analytics
《2016 寒假宅學營》
簡報人員:許舜博
日 期:2016/1/20
0
outline
1
1.何謂API
2.Google API
3.OAuth2.0
4.Google Analytics
outline
2
1.何謂API
2.Google API
3.OAuth2.0
4.Google Analytics
API
3
• Application Programming Interface(應用程式介面),就是
軟體系統不同組成部分銜接的約定。
• 由於近年來軟體的規模日益龐大,常常會需要把複雜的系統
劃分成小的組成部分,因此API的設計十分重要。
• 良好的API設計可以降低系統各部分的相互依賴,提高組成
單元的內聚性,降低組成單元間的耦合程度,進而提高系統
的維護性和擴展性。
好的API不會讓你上天堂,但可減輕你的負擔
API的任性
4
• API通常由通常跟隨著某程式服務,當原服務升級或改版,
API可能也需要跟著升級改版。
• API供應端不會顧慮使用者層面亦無道義可言。
outline
5
1.何謂API
2.Google API
3.OAuth2.0
4.Google Analytics
Google API
6
Google從早期提供App Engine使用的SDK到Google Data API,
漸漸得演變成以RESTful為主的API模式。
近期,RESTful API的模式幾乎統一了整個Google APIs的呼叫,
甚至新一代的雲端服務,都以RESTful API為優先考量。
Google API
7
Google API的管理介面整合到
Cloud Console(https://console.developers.google.com/)
Google Developers Console
8
開發者可以在這邊清楚的瞭解目前使用該API的狀態。
Google Map
9
Google Map
10
Google Map、GPS
• Location Base Game(適地性遊戲)
• 路徑紀錄
Google Calendar
11
YouTube
12
• 崁入YouTube影片,增加互動性。
• 管理影片。
延伸應用
13
有了這些Google API我們能夠使用Google提供的服務,不管是Web應用程
式還是手機APP,更輕鬆地站在巨人的肩膀上做不同的應用。
社群帳號登入
14
社群帳號登入
15
Google 帳號登入
16
過去 現在
outline
17
1.何謂API
2.Google API
3.OAuth2.0
4.Google Analytics
如何使用Google帳號登入?
18
• Google OAuth2.0驗證
OAuth是一個關於授權(Authorization)的開放網絡標準,
在全世界得到廣泛應用,目前的版本是2.0版。
規格書:
The OAuth 2.0 Authorization Framework (RFC 6749)。
應用場景
19
EX:
有一個「照片修圖的網站」,可以將用戶儲存在Google上的照片,依
喜好調整照片補光、修圖。
今天「老梅」為了想要換一張帥氣的大頭照而使用該網站的服務,必
須讓「照片修圖的網站」讀取自己儲存在Google上的照片。
問題是只有得到「老梅」的授權,Google才會同意「照片修圖的網站」
讀取這些照片。那麼, 「照片修圖的網站」怎樣獲得用戶的授權呢?
傳統方法
20
「老梅」將自己的Google用帳號和密碼,告訴「照片修圖的網站」以便讀取的照片。
這樣的做法有以下幾個嚴重的缺點:
Χ 「照片修圖的網站」為了後續的服務,會保存用戶的密碼,這樣很不安全。
Χ 「照片修圖的網站」擁有了獲取用戶儲存在Google所有資料的權力, 「老梅」無
法限制「照片修圖的網站」獲得授權的範圍和有效期。
Χ 「老梅」只有修改密碼,才能收回賦予「照片修圖的網站」的權力。但是這樣做,
會使得其他所有獲得授權的第三方應用程序全部失效。
Χ 只要有一個第三方應用程序被破解,就會導致用戶密碼洩漏,以及所有被密碼保護
的數據洩漏。
OAuth就是為了解決上面這些問題而誕生的
名詞定義
21
詳細講解OAuth 2.0之前,先介紹以下幾個專有名詞:
• Client:客戶端,又稱"第三方應用程式"(Third-party application),即例子中的
「照片修圖的網站」 。
• Resource Owner:資源所有者,又稱"用戶" (user),即例子中的「老梅」。
• Authorization server:認證伺服器,即服務供應商(Google)管理所有授權事務
的伺服器。
• Resource server:資源伺服器,服務供應商存放用戶資源的伺服器,即例子中
Google存放「老梅」照片的地方。
OAuth的思路
22
「老梅」透過「認證伺服器」授權給「照片
修圖的網站」讀取Google上儲存「老梅」的
「照片伺服器」。
Resource
Owner
Client
Authorization server
Resource
server
OAuth運行流程
23
「老梅」
「照片修圖
的網站」
認證
伺服器
照片伺服器摘自RFC 6749
客戶端的授權模式
24
上述A~F步驟中,可以看出B是關鍵(用戶怎樣才能給於客戶端授權)。
有了這個授權以後,客戶端就可以獲取Token,進而獲取資源。
• OAuth 2.0定義了四種授權方式:
1. 授權碼模式(Authorization Code)
2. 簡化模式(Implicit)
3. 密碼模式(Resource Owner Password Credentials)
4. 客戶端模式(Client Credentials)
1.授權碼模式(Authorization Code)
25
瀏覽器
授權碼模式(Authorization Code)是功能最完整、流程最嚴密的授權模式。
是否給予客戶端授權
26
2.簡化模式(Implicit)
27
3.密碼模式
(Resource Owner Password Credentials)
28
通常用在用戶對客戶端高度信任的情況下,比如客戶端是操作系統的一部分,或者
由一個著名公司出品。
而認證服務器只有在其他授權模式無法執行的情況下,才能考慮使用這種模式,很
少服務供應商支援。。
4.客戶端模式(Client Credentials)
29
客戶端以自己的名義,而不是以用戶的名義,向「服務提供商」進
行認證。
EX:存取公開資料,很少服務提供商會支援。
OAuth 2.0 實作
30
Service 支援的 Grant Types Client 認證
Google Authorization Code, Implicit POST
Facebook
Authorization Code, Implicit, Client
Cred.
GET
建立開發者專用金鑰
設定授權頁面
31
實際頁面與授權頁面不同
就不會賦予認證。
OAuth2.0驗證應用
32
除了上述更具安全性以外,整合第三方應用程式存取服務供應商個人資料的
一套規則, OAuth2.0驗證是一個協定。
同時引用FaceBook登入與Google登入,有別以往需引入各自的SDK根據各
自不同的規則開發。
有了OAuth2.0這套協定以後,可以用同一套規則做到各大社群的認證,讓開
發者更方便快速進行開發與偵錯。
outline
33
1.何謂API
2.Google API
3.OAuth2.0
4.Google Analytics
Google Analytics
34
 改善使用者介面經驗的最佳研究方法
 網站流量分析能提供那些有用資訊
►網站每天訪客數量
►網站平均轉換率
►網站訪客來源地理分佈
►網站每天訪客-瀏覽數最高的網頁頁面
►訪客在網站的平均停留時間
 網站醫生
Google Analytics的優勢
35
 無須軟體使用費
 支援應用程式介面(API)
 客製化流量分析報表
 查看功能介面
圖出自於e-nor,結果發現GA的市占率高達67%
Google Analytics運作原理
36
崁入Google Analytics
Tracking Code(GATC)
網站訪客
造訪網站 Google
分析伺服器
訪客行為報表
分析者
Google Analytics介面
37
Google Analytics API
38
有效組合 - 並非所有的維度和指標可以查詢在一起。
只有某些維度和指標可以一起使用,以創建有效的組合。
出自Google Analytics Core Reporting API
Google Analytics API 應用
39
因此有了Google Analytics API我們能夠透過Oauth2.0驗證取得Google
Analytics服務下的各樣資訊,方便我們網站做更多的規劃。
API 延伸應用
40
服務供應商、企業近年來開放資料與應用程式提供合作夥伴、開發人員、行動
運算應用。
API 提供了一個標準,橫跨行動裝置、網路 、服務與雲端開放資訊資產。
為了能夠使 API更有效的分享資訊以及資訊安全上的考量並且須符合經濟效益。
企業必須能夠應付安全性、效能管理,以及資料運用的重大挑戰。
API 管理套件衍生而出,結合先進的功能供後端整合、行動最佳化、雲端管理
以及開發人員管理使用。
參考資料
41
• The OAuth 2.0 Authorization Framework
• Social Login Trends Across the Web: Q1 2015
http://janrain.com/blog/social-login-trends-across-the-web-q1-2015/
• 第一次接觸Google API就上手
http://www.ithome.com.tw/guest-post/98590
• 理解OAuth 2.0
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
• OAuth 2.0 筆記
https://speakerdeck.com/chitsaou/jian-dan-yi-dong-de-oauth-2-dot-0
42
Thank You~

Contenu connexe

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

開放原始碼 Ch2.2 app - oss - google client api & app engine(ver 1.0)
開放原始碼 Ch2.2   app - oss -  google client api & app engine(ver 1.0)開放原始碼 Ch2.2   app - oss -  google client api & app engine(ver 1.0)
開放原始碼 Ch2.2 app - oss - google client api & app engine(ver 1.0)
My own sweet home!
 
软件工程 第八章
软件工程 第八章软件工程 第八章
软件工程 第八章
浒 刘
 
Se2009 ch8
Se2009 ch8 Se2009 ch8
Se2009 ch8
浒 刘
 
腾讯大讲堂58 拍拍app platform中间件解决方案简介
腾讯大讲堂58 拍拍app platform中间件解决方案简介腾讯大讲堂58 拍拍app platform中间件解决方案简介
腾讯大讲堂58 拍拍app platform中间件解决方案简介
areyouok
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
MOBINODE
 
上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day
上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day
上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day
csdnmobile
 

Similaire à 從Google API到Google Analytics 2016寒假宅學營 (20)

什麼是API
什麼是API什麼是API
什麼是API
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
 
鼎鈞數位行銷App營運實務全攻略
鼎鈞數位行銷App營運實務全攻略鼎鈞數位行銷App營運實務全攻略
鼎鈞數位行銷App營運實務全攻略
 
20200425 GlobalAzure-Azure API Management-協助邁向Open API及Micro Service架構的好用服務
20200425 GlobalAzure-Azure API Management-協助邁向Open API及Micro Service架構的好用服務20200425 GlobalAzure-Azure API Management-協助邁向Open API及Micro Service架構的好用服務
20200425 GlobalAzure-Azure API Management-協助邁向Open API及Micro Service架構的好用服務
 
20170108 微軟大數據整合解決方案- cortana intelligence suite
20170108 微軟大數據整合解決方案- cortana intelligence suite20170108 微軟大數據整合解決方案- cortana intelligence suite
20170108 微軟大數據整合解決方案- cortana intelligence suite
 
Serverless api gateway + lambda
Serverless api gateway + lambdaServerless api gateway + lambda
Serverless api gateway + lambda
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
 
開放原始碼 Ch2.2 app - oss - google client api & app engine(ver 1.0)
開放原始碼 Ch2.2   app - oss -  google client api & app engine(ver 1.0)開放原始碼 Ch2.2   app - oss -  google client api & app engine(ver 1.0)
開放原始碼 Ch2.2 app - oss - google client api & app engine(ver 1.0)
 
行動與雲端科技在圖書館的應用
行動與雲端科技在圖書館的應用行動與雲端科技在圖書館的應用
行動與雲端科技在圖書館的應用
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
 
软件工程 第八章
软件工程 第八章软件工程 第八章
软件工程 第八章
 
Se2009 ch8
Se2009 ch8 Se2009 ch8
Se2009 ch8
 
腾讯大讲堂58 拍拍app platform中间件解决方案简介
腾讯大讲堂58 拍拍app platform中间件解决方案简介腾讯大讲堂58 拍拍app platform中间件解决方案简介
腾讯大讲堂58 拍拍app platform中间件解决方案简介
 
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
 
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
 
Alten calsoft labs corporate in Chinese
Alten calsoft labs   corporate in ChineseAlten calsoft labs   corporate in Chinese
Alten calsoft labs corporate in Chinese
 
Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU
 Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU
Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day
上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day
上午2 intel 杜伟_iadp app_up intro - isn isc chn for idf meego day
 

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

Notes de l'éditeur

  1. 廣義 例子
  2. 授權碼模式(authorization code)是功能最完整、流程最嚴密的授權模式。它的特點就是通過客戶端的後台服務器,與"服務提供商"的認證服務器進行互動。
  3. (C) 假設 Resource Owner 許可了存取申請, Authorization Server 會把 User-Agent 轉回去先前指定的 Redirection URI ,其中包含 Access Token ,放在 Fragment Component 裡面。 (D) User-Agent 跟隨轉址的指示,發出 Request 到 Web-Hosted Client Resource ,這個 Request 裡面不會有剛剛拿到的 Fragment , User-Agent 自己保留 Fragment 。(註) (E) Web-Hosted Client Resource 回傳一個網頁(HTML & JavaScript),這個網頁可以拿到完整的 Redirection URI (含先前 User-Agent 保留的 Fragment)、把 Fragment 裡面的 Access Token 和其他參數給解出來。(註)