Evernote API + Evernote == Application's Online Storage !?
如果您正在開發應用服務, 需要穩定的資料儲存空間, 以及跨平台讀取資料的需求,
或許 Evernote 是一個不錯的選擇 !! 因為...
或許 Evernote 是一個不錯的選擇 !! 因為...
- 資料存放在Client端無法備份, 自己架Server又需付出額外成本
- Evernote 提供了相當豐富的 API, 可以讓開發者透過API 存取在Evernote Cloud 上使用者所存放的資料
- 透過 Evernote 跨平台的同步機制, 又可讓資訊自動同步到各個裝置
本篇文章是敘述如何透過 Evernote API 取代應用程式所需的後端服務
Client 端的APP 則以 Evernote SDK for iOS
為範例 https://github.com/evernote/evernote-sdk-ios.git
初期設定
A. 申請一個Evernote APP, 獲得 Consumer Key and Consumer Secret
B. 申請一個Evernote Sandbox Server的帳號, 接下來APP測試都先指定到 Sandbox
申請連結 : https://sandbox.evernote.com
C. Client端設定 ( Evernote SDK for iOS )
- Evernote Session 建立
- Evernote Login
- Check Login Status
存取資料
Evernote 的資料存取方式, 如下圖所示, 最上層是Notebook (如資料夾) 存放著多個Note
我們可以假設 Notebook = Table , 而 Note = Record 而進行資料儲存
A. 新增Notebook ( Crate a Table )
B. 新增Note ( Insert a Record )
除了 Evernote 的 Note 基本欄位可使用, 我們也可以使用 Resource, Resource Attributes 去存放更多我們想要的資訊, 如圖片, 網頁文件, XML等
參考文件連結 : http://dev.evernote.com/documentation/reference/Types.html#Struct_Note
A. 內容縮圖
Evernote會針對每一個Note文件都會進行縮圖, 即使文件裡存有圖片, 也會一併產生一個圖檔
對有些需要顯示縮圖的APP來說十分方便
但是該圖檔並不是Public的, 需要每次 Request
B. 搜尋文件
可以透過Evernote 強大的搜尋引擎, 針對Note裡面的文字進行 Keyword 搜尋
或是透過文件的Tag, 直接搜尋某些Note
搜尋Filter 說明 : http://dev.evernote.com/documentation/reference/NoteStore.html#Struct_NoteFilter
C. 文件排序
Evernote 也提供了一些方式針對搜尋結果進行排序, 如Crate Time, 相關性, Title, 修改頻率等
參考文件 : NoteSortOrder
Evernote提供了非常強大且實用的後端服務, 透過Evernote API, 我們可以新增, 修改, 搜尋, 縮圖...等
當然除此之外, 由於該文件儲存在 Evernote 的 Cloud, 這些資料還會因Evernote的同步機制,
同步到您的各個Evernote Client 如手機, 電腦等
若您不想再自己Host Server 做Database, Search Engine....
利用Evernote的Cloud做後端的Database, 或許也是不錯的選擇 !
我們可以假設 Notebook = Table , 而 Note = Record 而進行資料儲存
A. 新增Notebook ( Crate a Table )
B. 新增Note ( Insert a Record )
除了 Evernote 的 Note 基本欄位可使用, 我們也可以使用 Resource, Resource Attributes 去存放更多我們想要的資訊, 如圖片, 網頁文件, XML等
參考文件連結 : http://dev.evernote.com/documentation/reference/Types.html#Struct_Note
進階功能
A. 內容縮圖
Evernote會針對每一個Note文件都會進行縮圖, 即使文件裡存有圖片, 也會一併產生一個圖檔
對有些需要顯示縮圖的APP來說十分方便
但是該圖檔並不是Public的, 需要每次 Request
B. 搜尋文件
可以透過Evernote 強大的搜尋引擎, 針對Note裡面的文字進行 Keyword 搜尋
或是透過文件的Tag, 直接搜尋某些Note
搜尋Filter 說明 : http://dev.evernote.com/documentation/reference/NoteStore.html#Struct_NoteFilter
C. 文件排序
Evernote 也提供了一些方式針對搜尋結果進行排序, 如Crate Time, 相關性, Title, 修改頻率等
參考文件 : NoteSortOrder
結論
Evernote提供了非常強大且實用的後端服務, 透過Evernote API, 我們可以新增, 修改, 搜尋, 縮圖...等
當然除此之外, 由於該文件儲存在 Evernote 的 Cloud, 這些資料還會因Evernote的同步機制,
同步到您的各個Evernote Client 如手機, 電腦等
若您不想再自己Host Server 做Database, Search Engine....
利用Evernote的Cloud做後端的Database, 或許也是不錯的選擇 !
Categories:
API,
evernote,
ios,
object-c,
Server-side