SlideShare une entreprise Scribd logo
1  sur  28
1  2
CLOUD 整合雲雲服務 –
  3RD PARTY API         CH


                  Restful
                  Box.net API
RESTFUL

• Representational State Transfer,簡稱REST,是Roy
  Fielding博士在2000年他的博士論文中提出來的一種軟件
  架構風格。
• 目前在三種主流的Web服務實現方案,最為簡潔。
 • Amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎
   提供的Web服務也是REST風格的。
 • Google、Dropbox and more




                                                2
RESTFUL

• REST並非發明全新的架構。
• REST是設計風格而不是標準。
• REST通常基於使用HTTP,URI,和XML以及HTML這些現有
  的廣泛流行的協議和標準。




                                  3
RESTFUL

• 資源是由URI來指定。
• 對資源的操作包括獲取、創建、修改和刪除資源,這些操
  作正好對應HTTP協議提供的GET、POST、PUT和DELETE
  方法。
• 通過操作資源的表形來操作資源。
• 資源的表現形式則是XML或者HTML,取決於讀者是機器
  還是人,是消費web服務的客戶軟件還是web瀏覽器。
  當然也可以是任何其他的格式。




                                  4
RESTFUL

•   REST的要求
•   客戶端和服務器結構
•   連接協議具有無狀態性
•   能夠利用Cache機制增進性能
•   層次化的系統
•   隨需代碼 - Javascript (可選)




                             5
RESTFUL

• 關於狀態
 • 應該注意區別應用的狀態和連接協議的狀態。REST對於連接的無狀
   態性實際上要求每次經過無狀態的連接協議傳送的信息必須包含應
   用中所有的狀態信息。




                                 6
RESTFUL

• 這種通訊協定 protocol (在WWW中即用HTTP) 包含以下
  特色:
 •   使用者端/伺服器端 Client/Server
 •   狀態無關 Stateless
 •   可以快取 Cacheable
 •   分層的 Layered
• 符合 REST principles 的系統稱做 RESTful。




                                       7
RESTFUL

• 優點
 • 不必維持連結狀態,大大改善 server 的 scalability 能力。這表示
   不同server可以處理同一串 requests。
 • 一個瀏覽器就可以存取任一應用程式跟資源,client 端不需使用別
   的軟體。
 • 在HTTP之上不依存其他機制跟軟體。相對於其他疊加在HTTP協議
   之上的機制,REST的軟件依賴性更小
 • 跟其他連結方式相比(如RPC),可以提供相等的功能。
 • 不需要其他的 discovery 機制,因為使用超連結了。
 • 長期的相容性更好
  • 如同HTML這種文件具有後前及向後的相容能力
  • 支援新的內容格式不需要丟掉舊的


                                           8
RESTFUL

• 不像基於SOAP的Web服務,RESTful Web服務並沒有的
  「正式」標準。
• 這是因為REST是一種架構,而SOAP只是一個協議。雖然
  REST不是一個標準,但在實現RESTful Web服務時可以使
  用其他各種標準(比如HTTP,URL,XML,PNG等)。




                                 9
RESTFUL

• RESTful Web 服務
• 是一個使用HTTP並遵循REST原則的Web服務。它從以下
  三個方面資源進行定義:
 • URI,比如:http://example.com/resources/。
 • Web服務接受與返回的互聯網媒體類型,比如:JSON,XML ,
   YAML 等。
 • Web服務在該資源上所支持的一系列請求方法(比如:POST,
   GET,PUT或DELETE)。




                                           10
RESTFUL
HTTP 請求方法在RESTful Web 服務中的典型應用[1]

   資源            GET       PUT      POST    DELETE
                                  在本組資源中
 一組資源的        列出 URI,以
                                  創建/追加一
 URI,比如       及該資源組中     使用給定的一
                                  個新的資源。
http://exam   每個資源的詳     組資源替換當            刪除 整組資源。
                                  該操作往往返
ple.com/res   細信息(後者     前整組資源。
                                  回新資源的
  ources/     可選)。
                                  URL。
              獲取 指定的資          把指定的資源
 單個資源的        源的詳細信息,          當做一個資源
                       替換/創建 指
 URI,比如       格式可以自選           組,並在其下
                       定的資源。並              刪除 指定的元
http://exam   一個合適的網           創建/追加一
                       將其追加到相              素。
ple.com/res   絡媒體類型            個新的元素,
                       應的資源組中。
ources/142    (比如:XML、         使其隸屬於當
              JSON等)           前資源。
                                                     11
RESTFUL

• 列舉所有商品
 • GET http://www.store.com/products
• 具體某一件商品
 • GET http://www.store.com/product/12345
• 下單購買
 • POST http://www.store.com/order
 • 內容
   • <purchase-order>
   • <item> ... </item>
   • </purchase-order>




                                            12
RESTFUL

•   程式庫支援
•   Restlet - http://www.restlet.org/
•   JBoss RESTEasy - http://www.jboss.org/resteasy
•   Jersey - http://jersey.java.net/
    • 已經是JavaEE的預設實作
• Apache CXF - http://cxf.apache.org/
• Restfulie -
    • http://restfulie.caelum.com.br/
    • https://github.com/caelum/restfulie-java



                                                     13
BOX.NET API

• Box.net
• http://www.box.com/developers
• 利用 box 提供的機制來串連所開發的應用程式,整合於
  個人電腦、智慧型手機、平板電腦與一般網站。
• SDKs for iOS, Android, Python, Ruby, and Java
• All of our SDKs are MIT licensed




                                                  14
BOX.NET API

• https://www.box.net/api/1.0/rest?action=get_ticket&api_key={
  key}


 <response>
 <status>get_ticket_ok</status>
 <ticket>uatpxqvq3itmesyuaigmm4edz6h4k3c2</ticket>
 </response>




                                                            15
BOX.NET API

• WEB 模式
 • https://www.box.net/api/1.0/auth/{ticket_key}


• Application Desktop模式
 • https://www.box.net/api/1.0/rest?action=get_auth_token&
   api_key={api_key}&ticket= {ticket_key}




                                                         16
BOX.NET API

• 回傳auth_key
 <response>
 <status>get_auth_token_ok</status>
 <auth_token>e2c7hcnr4zcqa18ibi2i30x0kdlfkuq</auth_token>
 <user>
 <login>wenhsiaoyi@gmail.com</login>
 <email>wenhsiaoyi@gmail.com</email>
 <access_id>301039</access_id>
 <user_id>301039</user_id>
 <space_amount>53687091200</space_amount>
 <space_used>3295937647</space_used>
 <max_upload_size>104857600</max_upload_size>
 <sharing_disabled />
 </user>
 </response>
                                                            17
BOX.NET API

• get_account_info 取得使用者資訊
 • https://www.box.net/api/1.0/rest?action=get_account_info
   &api_key={api_key}&{auth_key}

   <response>
   <status>get_account_info_ok</status>
   <user>
   <login>wenhsiaoyi@gmail.com</login>
   <email>wenhsiaoyi@gmail.com</email>
   <access_id>301039</access_id>
   <user_id>301039</user_id>
   <space_amount>53687091200</space_amount>
   <space_used>3295937647</space_used>
   <max_upload_size>104857600</max_upload_size>
   </user>
   </response>
                                                          18
BOX.NET API

• 撈取根目錄清單 get_account_tree
• https://www.box.net/api/1.0/rest?action=get_acco
  unt_tree&api_key={api_key}&auth_token={auth_key
  }&folder_id=0&params[]=nozip




                                                 19
BOX.NET API




              20
BOX.NET API

• 抓取 eBook下清單
• https://www.box.net/api/1.0/rest?action=get_acco
  unt_tree&api_key={api_key}&auth_token={auth_key
  }&folder_id=96712292&params[]=nozip




                                                 21
BOX.NET API

• eBook 下清單




                            22
BOX.NET API




              23
BOX.NET API

• 展開Apple目錄下




                         24
BOX.NET API




              25
BOX.NET API

• 朋友清單 get_friends
• https://www.box.net/api/1.0/rest?action=get_friend
  s&api_key={api_key}&auth_token={auth_key}&para
  ms[]=nozip




                                                   26
BOX.NET API




              27
BOX.NET API

• Java Code Sample demo




                            28

Contenu connexe

Tendances

北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用Lorex L. Yang
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Justin Lin
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletJustin Lin
 
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMailServlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMailJustin Lin
 
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLServlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLJustin Lin
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫Justin Lin
 
ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享國昭 張
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式Justin Lin
 
中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本Lorex L. Yang
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
 
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 ServletServlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 ServletJustin Lin
 
REST to RESTful Web Service
REST to RESTful Web ServiceREST to RESTful Web Service
REST to RESTful Web Service家弘 周
 
移动搜索在慢网速下的优化
移动搜索在慢网速下的优化移动搜索在慢网速下的优化
移动搜索在慢网速下的优化Charlee Green
 

Tendances (20)

北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
 
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
 
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMailServlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
 
CRUD 綜合運用
CRUD 綜合運用CRUD 綜合運用
CRUD 綜合運用
 
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
 
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLServlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
 
CRUD 綜合運用
CRUD 綜合運用CRUD 綜合運用
CRUD 綜合運用
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
 
ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
 
中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本
 
整合 Open ID
整合 Open ID整合 Open ID
整合 Open ID
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
 
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 ServletServlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
 
工作坊總結
工作坊總結工作坊總結
工作坊總結
 
REST to RESTful Web Service
REST to RESTful Web ServiceREST to RESTful Web Service
REST to RESTful Web Service
 
移动搜索在慢网速下的优化
移动搜索在慢网速下的优化移动搜索在慢网速下的优化
移动搜索在慢网速下的优化
 

En vedette

開放原始碼 Ch1.3 intro - oss - google codes (ver 2.0)
開放原始碼 Ch1.3   intro - oss - google codes (ver 2.0)開放原始碼 Ch1.3   intro - oss - google codes (ver 2.0)
開放原始碼 Ch1.3 intro - oss - google codes (ver 2.0)My own sweet home!
 
Ideos9-Democracy
Ideos9-DemocracyIdeos9-Democracy
Ideos9-Democracyoliv reg
 
Nha Renewables Mann
Nha Renewables MannNha Renewables Mann
Nha Renewables MannDebbi Smith
 
ChangeMakers Slideshow
ChangeMakers SlideshowChangeMakers Slideshow
ChangeMakers Slideshowguest2bc845
 
Tata tertib pengawas ruang ujian nasional
Tata tertib pengawas ruang ujian nasionalTata tertib pengawas ruang ujian nasional
Tata tertib pengawas ruang ujian nasionalSunariyo Yoyok
 
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)My own sweet home!
 
Time Is Like A River
Time Is Like A RiverTime Is Like A River
Time Is Like A Riverguesta4d3be
 
文創產業網路行銷_Ch2 露天拍賣入門與實務 基本操作
文創產業網路行銷_Ch2   露天拍賣入門與實務 基本操作文創產業網路行銷_Ch2   露天拍賣入門與實務 基本操作
文創產業網路行銷_Ch2 露天拍賣入門與實務 基本操作My own sweet home!
 
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)My own sweet home!
 
自造世代下的新創模式
自造世代下的新創模式自造世代下的新創模式
自造世代下的新創模式My own sweet home!
 
Ch3 文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理
Ch3   文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理Ch3   文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理
Ch3 文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理My own sweet home!
 
Bacaan modul 3 mengembangkan media presentasi untuk pembelajaran
Bacaan modul 3 mengembangkan media presentasi untuk pembelajaranBacaan modul 3 mengembangkan media presentasi untuk pembelajaran
Bacaan modul 3 mengembangkan media presentasi untuk pembelajaranSunariyo Yoyok
 
開放原始碼 Ch1.1 intro - oss (ver 1.0)
開放原始碼 Ch1.1   intro - oss (ver 1.0)開放原始碼 Ch1.1   intro - oss (ver 1.0)
開放原始碼 Ch1.1 intro - oss (ver 1.0)My own sweet home!
 
Apache cordova 開發環境建置
Apache cordova 開發環境建置Apache cordova 開發環境建置
Apache cordova 開發環境建置My own sweet home!
 
Solaris, Sustainable architecture, Positive Energy and Well-being in the wor...
Solaris,  Sustainable architecture, Positive Energy and Well-being in the wor...Solaris,  Sustainable architecture, Positive Energy and Well-being in the wor...
Solaris, Sustainable architecture, Positive Energy and Well-being in the wor...Nikolas Tsialdaridis
 
文創產業網路行銷_Ch1 課程介紹與準備
文創產業網路行銷_Ch1   課程介紹與準備文創產業網路行銷_Ch1   課程介紹與準備
文創產業網路行銷_Ch1 課程介紹與準備My own sweet home!
 
Global Forum Business As Agent Of World Benefits
Global Forum Business As Agent Of World BenefitsGlobal Forum Business As Agent Of World Benefits
Global Forum Business As Agent Of World BenefitsNikolas Tsialdaridis
 

En vedette (18)

開放原始碼 Ch1.3 intro - oss - google codes (ver 2.0)
開放原始碼 Ch1.3   intro - oss - google codes (ver 2.0)開放原始碼 Ch1.3   intro - oss - google codes (ver 2.0)
開放原始碼 Ch1.3 intro - oss - google codes (ver 2.0)
 
Ideos9-Democracy
Ideos9-DemocracyIdeos9-Democracy
Ideos9-Democracy
 
Nha Renewables Mann
Nha Renewables MannNha Renewables Mann
Nha Renewables Mann
 
ChangeMakers Slideshow
ChangeMakers SlideshowChangeMakers Slideshow
ChangeMakers Slideshow
 
Tata tertib pengawas ruang ujian nasional
Tata tertib pengawas ruang ujian nasionalTata tertib pengawas ruang ujian nasional
Tata tertib pengawas ruang ujian nasional
 
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
 
Time Is Like A River
Time Is Like A RiverTime Is Like A River
Time Is Like A River
 
文創產業網路行銷_Ch2 露天拍賣入門與實務 基本操作
文創產業網路行銷_Ch2   露天拍賣入門與實務 基本操作文創產業網路行銷_Ch2   露天拍賣入門與實務 基本操作
文創產業網路行銷_Ch2 露天拍賣入門與實務 基本操作
 
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)開放原始碼 Ch3.2  mobile - oss - oss行動領域-2 (ver1.0)
開放原始碼 Ch3.2 mobile - oss - oss行動領域-2 (ver1.0)
 
自造世代下的新創模式
自造世代下的新創模式自造世代下的新創模式
自造世代下的新創模式
 
Ch3 文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理
Ch3   文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理Ch3   文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理
Ch3 文創產業網路行銷_Ch3-露天拍賣入門與實務 商品管理
 
Bacaan modul 3 mengembangkan media presentasi untuk pembelajaran
Bacaan modul 3 mengembangkan media presentasi untuk pembelajaranBacaan modul 3 mengembangkan media presentasi untuk pembelajaran
Bacaan modul 3 mengembangkan media presentasi untuk pembelajaran
 
開放原始碼 Ch1.1 intro - oss (ver 1.0)
開放原始碼 Ch1.1   intro - oss (ver 1.0)開放原始碼 Ch1.1   intro - oss (ver 1.0)
開放原始碼 Ch1.1 intro - oss (ver 1.0)
 
Apache cordova 開發環境建置
Apache cordova 開發環境建置Apache cordova 開發環境建置
Apache cordova 開發環境建置
 
Solaris, Sustainable architecture, Positive Energy and Well-being in the wor...
Solaris,  Sustainable architecture, Positive Energy and Well-being in the wor...Solaris,  Sustainable architecture, Positive Energy and Well-being in the wor...
Solaris, Sustainable architecture, Positive Energy and Well-being in the wor...
 
物聯網 雲端智慧家庭
物聯網 雲端智慧家庭物聯網 雲端智慧家庭
物聯網 雲端智慧家庭
 
文創產業網路行銷_Ch1 課程介紹與準備
文創產業網路行銷_Ch1   課程介紹與準備文創產業網路行銷_Ch1   課程介紹與準備
文創產業網路行銷_Ch1 課程介紹與準備
 
Global Forum Business As Agent Of World Benefits
Global Forum Business As Agent Of World BenefitsGlobal Forum Business As Agent Of World Benefits
Global Forum Business As Agent Of World Benefits
 

Similaire à 開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)

Rest Ruby On Rails
Rest Ruby On RailsRest Ruby On Rails
Rest Ruby On Railsshaokun
 
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Servicesjavatwo2011
 
Res tful api design tw-2.0
Res tful api design tw-2.0Res tful api design tw-2.0
Res tful api design tw-2.0昀陞 李
 
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!Will Huang
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5 Tony Deng
 
Build your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeBuild your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeinwin stack
 
Rest与面向资源的web开发
Rest与面向资源的web开发Rest与面向资源的web开发
Rest与面向资源的web开发topgeek
 
Extend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API ServerExtend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API Serverinwin stack
 
D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomihdksky
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践Li JianYe
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdfssuserd6c7621
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程yiditushe
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程appollo0312
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
AJAX Search & Cross Domain Survey
AJAX Search & Cross Domain SurveyAJAX Search & Cross Domain Survey
AJAX Search & Cross Domain Surveyfirestoke
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介Herman Wu
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1YI-CHING WU
 
Open Api&Sip
Open Api&SipOpen Api&Sip
Open Api&Sipcenwenchu
 

Similaire à 開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0) (20)

Rest Ruby On Rails
Rest Ruby On RailsRest Ruby On Rails
Rest Ruby On Rails
 
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services
 
Res tful api design tw-2.0
Res tful api design tw-2.0Res tful api design tw-2.0
Res tful api design tw-2.0
 
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
Build your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeBuild your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource type
 
Rest与面向资源的web开发
Rest与面向资源的web开发Rest与面向资源的web开发
Rest与面向资源的web开发
 
Extend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API ServerExtend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API Server
 
D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomi
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
 
RESTful
RESTfulRESTful
RESTful
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
敦群學院-SharePoint精英計畫-系統開發-Day 2
敦群學院-SharePoint精英計畫-系統開發-Day 2敦群學院-SharePoint精英計畫-系統開發-Day 2
敦群學院-SharePoint精英計畫-系統開發-Day 2
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
AJAX Search & Cross Domain Survey
AJAX Search & Cross Domain SurveyAJAX Search & Cross Domain Survey
AJAX Search & Cross Domain Survey
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1
 
Open Api&Sip
Open Api&SipOpen Api&Sip
Open Api&Sip
 

Plus de My own sweet home!

Sencha touch 2 訓練課程 3 phonegap整合
Sencha touch 2 訓練課程 3 phonegap整合Sencha touch 2 訓練課程 3 phonegap整合
Sencha touch 2 訓練課程 3 phonegap整合My own sweet home!
 
Sencha touch 2 訓練課程 2 android環境建置
Sencha touch 2 訓練課程 2 android環境建置Sencha touch 2 訓練課程 2 android環境建置
Sencha touch 2 訓練課程 2 android環境建置My own sweet home!
 
Sencha touch 2 訓練課程 1 建置專案環境
Sencha touch 2 訓練課程 1 建置專案環境Sencha touch 2 訓練課程 1 建置專案環境
Sencha touch 2 訓練課程 1 建置專案環境My own sweet home!
 
文創產業網路行銷_Ch1 1 - 常用服務申請與使用
文創產業網路行銷_Ch1 1 - 常用服務申請與使用文創產業網路行銷_Ch1 1 - 常用服務申請與使用
文創產業網路行銷_Ch1 1 - 常用服務申請與使用My own sweet home!
 
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹My own sweet home!
 
電子商務軟體 管理與實務 Course Introduction
電子商務軟體 管理與實務 Course Introduction電子商務軟體 管理與實務 Course Introduction
電子商務軟體 管理與實務 Course IntroductionMy own sweet home!
 
行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto Market行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto MarketMy own sweet home!
 
行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap AdvanceMy own sweet home!
 
行動商務實務 - PhoneGap Basic
行動商務實務 - PhoneGap Basic 行動商務實務 - PhoneGap Basic
行動商務實務 - PhoneGap Basic My own sweet home!
 
行動開店 交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週
行動開店   交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週行動開店   交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週
行動開店 交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週My own sweet home!
 
Web based mobile devlopment 快速簡介
Web based mobile devlopment 快速簡介Web based mobile devlopment 快速簡介
Web based mobile devlopment 快速簡介My own sweet home!
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0) My own sweet home!
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)My own sweet home!
 
開放原始碼 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!
 
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)My own sweet home!
 
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)My own sweet home!
 
開放原始碼 Ch0 intro- final group porject (ver 1.5)
開放原始碼 Ch0   intro- final group porject (ver 1.5)開放原始碼 Ch0   intro- final group porject (ver 1.5)
開放原始碼 Ch0 intro- final group porject (ver 1.5)My own sweet home!
 

Plus de My own sweet home! (20)

Sencha touch 2 訓練課程 3 phonegap整合
Sencha touch 2 訓練課程 3 phonegap整合Sencha touch 2 訓練課程 3 phonegap整合
Sencha touch 2 訓練課程 3 phonegap整合
 
Sencha touch 2 訓練課程 2 android環境建置
Sencha touch 2 訓練課程 2 android環境建置Sencha touch 2 訓練課程 2 android環境建置
Sencha touch 2 訓練課程 2 android環境建置
 
Sencha touch 2 訓練課程 1 建置專案環境
Sencha touch 2 訓練課程 1 建置專案環境Sencha touch 2 訓練課程 1 建置專案環境
Sencha touch 2 訓練課程 1 建置專案環境
 
文創產業網路行銷_Ch1 1 - 常用服務申請與使用
文創產業網路行銷_Ch1 1 - 常用服務申請與使用文創產業網路行銷_Ch1 1 - 常用服務申請與使用
文創產業網路行銷_Ch1 1 - 常用服務申請與使用
 
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
 
電子商務軟體 管理與實務 Course Introduction
電子商務軟體 管理與實務 Course Introduction電子商務軟體 管理與實務 Course Introduction
電子商務軟體 管理與實務 Course Introduction
 
行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto Market行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto Market
 
行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance
 
行動商務實務 - PhoneGap Basic
行動商務實務 - PhoneGap Basic 行動商務實務 - PhoneGap Basic
行動商務實務 - PhoneGap Basic
 
JQuery Mobile UI
JQuery Mobile UIJQuery Mobile UI
JQuery Mobile UI
 
行動開店 交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週
行動開店   交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週行動開店   交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週
行動開店 交易與支付 APPZ - 101-1學期 行動商務管理實務 第六週
 
創業從零開始
創業從零開始創業從零開始
創業從零開始
 
行動技術開發概論
行動技術開發概論行動技術開發概論
行動技術開發概論
 
Web based mobile devlopment 快速簡介
Web based mobile devlopment 快速簡介Web based mobile devlopment 快速簡介
Web based mobile devlopment 快速簡介
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (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)
開放原始碼 Ch2.2 app - oss - google client api & app engine(ver 1.0)
 
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)
 
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
 
開放原始碼 Ch0 intro- final group porject (ver 1.5)
開放原始碼 Ch0   intro- final group porject (ver 1.5)開放原始碼 Ch0   intro- final group porject (ver 1.5)
開放原始碼 Ch0 intro- final group porject (ver 1.5)
 

開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)

  • 1. 1 2 CLOUD 整合雲雲服務 – 3RD PARTY API CH Restful Box.net API
  • 2. RESTFUL • Representational State Transfer,簡稱REST,是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件 架構風格。 • 目前在三種主流的Web服務實現方案,最為簡潔。 • Amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎 提供的Web服務也是REST風格的。 • Google、Dropbox and more 2
  • 3. RESTFUL • REST並非發明全新的架構。 • REST是設計風格而不是標準。 • REST通常基於使用HTTP,URI,和XML以及HTML這些現有 的廣泛流行的協議和標準。 3
  • 4. RESTFUL • 資源是由URI來指定。 • 對資源的操作包括獲取、創建、修改和刪除資源,這些操 作正好對應HTTP協議提供的GET、POST、PUT和DELETE 方法。 • 通過操作資源的表形來操作資源。 • 資源的表現形式則是XML或者HTML,取決於讀者是機器 還是人,是消費web服務的客戶軟件還是web瀏覽器。 當然也可以是任何其他的格式。 4
  • 5. RESTFUL • REST的要求 • 客戶端和服務器結構 • 連接協議具有無狀態性 • 能夠利用Cache機制增進性能 • 層次化的系統 • 隨需代碼 - Javascript (可選) 5
  • 6. RESTFUL • 關於狀態 • 應該注意區別應用的狀態和連接協議的狀態。REST對於連接的無狀 態性實際上要求每次經過無狀態的連接協議傳送的信息必須包含應 用中所有的狀態信息。 6
  • 7. RESTFUL • 這種通訊協定 protocol (在WWW中即用HTTP) 包含以下 特色: • 使用者端/伺服器端 Client/Server • 狀態無關 Stateless • 可以快取 Cacheable • 分層的 Layered • 符合 REST principles 的系統稱做 RESTful。 7
  • 8. RESTFUL • 優點 • 不必維持連結狀態,大大改善 server 的 scalability 能力。這表示 不同server可以處理同一串 requests。 • 一個瀏覽器就可以存取任一應用程式跟資源,client 端不需使用別 的軟體。 • 在HTTP之上不依存其他機制跟軟體。相對於其他疊加在HTTP協議 之上的機制,REST的軟件依賴性更小 • 跟其他連結方式相比(如RPC),可以提供相等的功能。 • 不需要其他的 discovery 機制,因為使用超連結了。 • 長期的相容性更好 • 如同HTML這種文件具有後前及向後的相容能力 • 支援新的內容格式不需要丟掉舊的 8
  • 9. RESTFUL • 不像基於SOAP的Web服務,RESTful Web服務並沒有的 「正式」標準。 • 這是因為REST是一種架構,而SOAP只是一個協議。雖然 REST不是一個標準,但在實現RESTful Web服務時可以使 用其他各種標準(比如HTTP,URL,XML,PNG等)。 9
  • 10. RESTFUL • RESTful Web 服務 • 是一個使用HTTP並遵循REST原則的Web服務。它從以下 三個方面資源進行定義: • URI,比如:http://example.com/resources/。 • Web服務接受與返回的互聯網媒體類型,比如:JSON,XML , YAML 等。 • Web服務在該資源上所支持的一系列請求方法(比如:POST, GET,PUT或DELETE)。 10
  • 11. RESTFUL HTTP 請求方法在RESTful Web 服務中的典型應用[1] 資源 GET PUT POST DELETE 在本組資源中 一組資源的 列出 URI,以 創建/追加一 URI,比如 及該資源組中 使用給定的一 個新的資源。 http://exam 每個資源的詳 組資源替換當 刪除 整組資源。 該操作往往返 ple.com/res 細信息(後者 前整組資源。 回新資源的 ources/ 可選)。 URL。 獲取 指定的資 把指定的資源 單個資源的 源的詳細信息, 當做一個資源 替換/創建 指 URI,比如 格式可以自選 組,並在其下 定的資源。並 刪除 指定的元 http://exam 一個合適的網 創建/追加一 將其追加到相 素。 ple.com/res 絡媒體類型 個新的元素, 應的資源組中。 ources/142 (比如:XML、 使其隸屬於當 JSON等) 前資源。 11
  • 12. RESTFUL • 列舉所有商品 • GET http://www.store.com/products • 具體某一件商品 • GET http://www.store.com/product/12345 • 下單購買 • POST http://www.store.com/order • 內容 • <purchase-order> • <item> ... </item> • </purchase-order> 12
  • 13. RESTFUL • 程式庫支援 • Restlet - http://www.restlet.org/ • JBoss RESTEasy - http://www.jboss.org/resteasy • Jersey - http://jersey.java.net/ • 已經是JavaEE的預設實作 • Apache CXF - http://cxf.apache.org/ • Restfulie - • http://restfulie.caelum.com.br/ • https://github.com/caelum/restfulie-java 13
  • 14. BOX.NET API • Box.net • http://www.box.com/developers • 利用 box 提供的機制來串連所開發的應用程式,整合於 個人電腦、智慧型手機、平板電腦與一般網站。 • SDKs for iOS, Android, Python, Ruby, and Java • All of our SDKs are MIT licensed 14
  • 15. BOX.NET API • https://www.box.net/api/1.0/rest?action=get_ticket&api_key={ key} <response> <status>get_ticket_ok</status> <ticket>uatpxqvq3itmesyuaigmm4edz6h4k3c2</ticket> </response> 15
  • 16. BOX.NET API • WEB 模式 • https://www.box.net/api/1.0/auth/{ticket_key} • Application Desktop模式 • https://www.box.net/api/1.0/rest?action=get_auth_token& api_key={api_key}&ticket= {ticket_key} 16
  • 17. BOX.NET API • 回傳auth_key <response> <status>get_auth_token_ok</status> <auth_token>e2c7hcnr4zcqa18ibi2i30x0kdlfkuq</auth_token> <user> <login>wenhsiaoyi@gmail.com</login> <email>wenhsiaoyi@gmail.com</email> <access_id>301039</access_id> <user_id>301039</user_id> <space_amount>53687091200</space_amount> <space_used>3295937647</space_used> <max_upload_size>104857600</max_upload_size> <sharing_disabled /> </user> </response> 17
  • 18. BOX.NET API • get_account_info 取得使用者資訊 • https://www.box.net/api/1.0/rest?action=get_account_info &api_key={api_key}&{auth_key} <response> <status>get_account_info_ok</status> <user> <login>wenhsiaoyi@gmail.com</login> <email>wenhsiaoyi@gmail.com</email> <access_id>301039</access_id> <user_id>301039</user_id> <space_amount>53687091200</space_amount> <space_used>3295937647</space_used> <max_upload_size>104857600</max_upload_size> </user> </response> 18
  • 19. BOX.NET API • 撈取根目錄清單 get_account_tree • https://www.box.net/api/1.0/rest?action=get_acco unt_tree&api_key={api_key}&auth_token={auth_key }&folder_id=0&params[]=nozip 19
  • 21. BOX.NET API • 抓取 eBook下清單 • https://www.box.net/api/1.0/rest?action=get_acco unt_tree&api_key={api_key}&auth_token={auth_key }&folder_id=96712292&params[]=nozip 21
  • 22. BOX.NET API • eBook 下清單 22
  • 26. BOX.NET API • 朋友清單 get_friends • https://www.box.net/api/1.0/rest?action=get_friend s&api_key={api_key}&auth_token={auth_key}&para ms[]=nozip 26
  • 28. BOX.NET API • Java Code Sample demo 28