- 基于Swift語言的iOS App 商業實戰教程
- 黑馬程序員編著
- 3094字
- 2021-01-28 17:57:54
1.1 項目介紹
1.1.1 項目背景介紹
新浪微博是一款為大眾提供娛樂、休閑、生活服務的信息分享和交流平臺,用戶可以通過網頁、WAP 頁面、手機客戶端、手機短信、彩信發布消息或上傳圖片。我們可以把新浪微博理解為“微型博客”或者“一句話博客”。用戶可以將看到的、聽到的、想到的事情寫成一句話,或發一張圖片,通過計算機或者手機隨時隨地分享給朋友,一起分享、討論;還可以關注朋友,即時看到朋友們發布的信息。
新浪微博由新浪公司于2009年正式推出。截至2016年3月,微博月活躍用戶2.61億,日活躍用戶1.2億,擁有龐大的用戶群,是國內最有影響力、最受矚目的微博運營商之一。
2010年初,新浪微博推出API開放平臺,通過它的開放接口,其他網站或者App紛紛推出“分享到新浪微博”功能,更加速了新浪微博的發展。圖1-1展示了百度和淘寶的分享功能。

圖1-1 百度分享和淘寶分享
新浪微博是中國移動互聯網的代表性產品之一,它涵蓋了大量的移動互聯網元素。通過對新浪微博的研究及模仿實現,可以獲得如下收獲。
● 對這些元素在實際產品中的應用有深入的了解和認識。
● 知道如何在一個真實的項目中運用相關技術點。
● 對大型項目的架構、開發及掌控有更全面的認識和理解。
本書借助新浪微博開放平臺,通過開發一個微博項目,讓大家從零開始了解開發一個大型項目的各個階段,具備一個大型項目系統開發的能力。
1.1.2 項目注冊
要想使用新浪公司的接口開發項目,首先要注冊一個新浪賬號成為新浪的用戶,然后登陸微博開放平臺(open.weibo.com),注冊和管理要使用新浪微博接口的項目。在新浪平臺注冊App,綁定項目的步驟具體如下。
(1)訪問新浪微博開放平臺,平臺的主界面如圖1-2所示。

圖1-2 新浪開放平臺主界面
(2)單擊主界面上的“登錄”按鈕,頁面上彈出登錄界面,如圖1-3所示。輸入新浪用戶名和密碼,即可登錄并成為它的開發者。

圖1-3 登錄界面
(3)登錄成功以后,單擊主頁面頂部菜單上的【微連接】→【移動應用】命令,進入微連接頁面,如圖1-4所示。

圖1-4 “微連接”頁面
(4)單擊“立即接入”按鈕,然后在系統彈出的提示框中單擊“繼續創建”按鈕,即可進入創建移動應用的頁面,具體如圖1-5所示。
(5)創建移動應用的頁面如圖1-6所示。輸入應用名稱,如我們的項目名稱“黑馬微博”。要注意,應用不能重名。然后在應用平臺上選擇“iPhone”,最后單擊“創建”按鈕進行創建。

圖1-5 彈出的提示框

圖1-6 創建移動應用的頁面
(6)創建完應用以后,頁面自動跳轉到【我的應用】→【應用信息】→【基本信息】頁面。在該頁面中可以看到開放平臺為應用生成的App Key和App Secret信息,如圖1-7所示。

圖1-7 生成的應用信息頁面
其中,App Key是應用程序在新浪網站上登記的身份證號,App Secret是用于識別應用程序的,App Key和App Secret共同組成一個App的唯一標識。App Key是不可更改的,但是如果App Secret被泄露,是可以更改的。這兩個信息是App可以訪問新浪開放接口的關鍵信息,非常重要,建議保存起來。
(7)在【我的應用】→【高級信息】菜單中,單擊【OAuth2.0授權設置】行尾的【編輯】,可添加授權回調頁信息,這是必填項目,如圖1-8所示。

圖1-8 授權設置頁面
(8)進入編輯頁面,填入網站信息以后,單擊“提交”按鈕就可以了,如圖1-9所示。

圖1-9 添加授權回調頁
至此,我們的項目已經在新浪微博開放平臺上登記完成,可以在項目中使用生成的信息進行用戶驗證、獲取數據等操作了。
1.1.3 接口文檔的獲取和查看
如果要開發微博應用,微博開發平臺開放了包括微博、用戶在內的二十余類接口,供我們實現豐富齊全的功能。首先,打開新浪開放平臺的首頁,單擊頁面上方的“文檔”,進入開發文檔頁面,如圖1-10所示。

圖1-10 開發文檔頁面
然后,單擊圖1-10中的【API文檔】,進入“微博API”頁面,如圖1-11所示。我們看到新浪微博將所有開放的接口文檔按照功能模塊進行分類。

圖1-11 微博接口分類
單擊某個功能模塊,會定位到該功能模塊下的接口列表。以圖1-11中的“微博接口”為例,它有兩個子分類,分別是讀取接口和寫入接口,每個子分類下又有若干接口,包括接口地址和描述,如圖1-12和圖1-13所示。

圖1-12 微博讀取接口

圖1-13 微博寫入接口
單擊接口地址,會跳轉到該接口的具體描述頁面。以圖1-12中的“獲取最新的公共微博”接口為例,它的部分描述如圖1-14和圖1-15所示。

圖1-14 最新公共微博的部分信息(1)

圖1-15 最新公共微博的部分信息(2)
上述頁面描述的具體內容包括以下要素。
(1)URL:訪問接口的URL地址。
(2)支持格式:支持的數據格式,如XML或者JSON。
(3)HTTP請求方式:如GET或者POST。
(4)是否需要登錄:是否需要用戶登錄才能訪問接口,新浪微博開放的接口都需要登錄。在“是否需要登錄”下方有一個“如何登錄授權”的鏈接,單擊該鏈接就會跳轉到如何進行登錄授權的說明頁面。
(5)訪問授權限制:微博開放接口限制每段時間只能請求一定的次數。限制的單位時間有每小時、每天;限制的維度有單授權用戶和單IP;部分特殊接口有單獨的請求次數限制。
(6)請求參數:發送請求要帶的參數,包括參數名稱、是否必選、參數類型和范圍,以及參數說明。從圖1-15可以看出,有一個必選參數 access_token,類型是字符串類型,并說明是OAuth授權后獲得。如果要查詢如何登錄授權,可以單擊圖1-14中“是否需要登錄下”中的“如何登錄授權”鏈接。
(7)注意事項:使用接口時的注意事項。
(8)調用樣例及調試工具:調用接口的樣例或者調試工具。
(9)返回結果:調用接口后返回的結果,以下是“獲取最新的公共微博”接口的部分返回結果,如圖1-16所示。

圖1-16 “返回結果”部分示例
(10)返回字段說明:對接口返回的字段進行詳細說明。以下是“獲取最新的公共微博”接口的返回字段,如圖1-17所示。

圖1-17 “返回字段說明”示例
(11)其他:其他事項。
(12)相關問題:相互關聯的其他問題。
1.1.4 項目功能介紹
新浪微博官方 App 包含的功能非常豐富。考慮到很多功能實現的方式類似,本書僅實現最常用的若干功能,希望大家能夠掌握其中的技巧和方法,舉一反三。下面是本書將要帶大家實現的功能。
1.用戶登錄
要調用新浪微博的開放接口,多數都需要獲取用戶身份認證。本書在項目中采用 OAuth2.0協議授權登錄的方式,在這種授權方式下,由新浪微博官方提供的接口負責用戶授權驗證,而本項目作為第三方 App 無法獲得用戶的用戶名或密碼等信息。授權成功后,新浪微博會返回一個令牌access_token,第三方App可以使用這個令牌從新浪微博的服務器獲取用戶的相關信息,以及獲取微博等。用戶登錄的過程如圖1-18所示。

圖1-18 用戶登錄過程
2.顯示原創微博
用戶登錄成功后,就可以查看關注的人發布的微博。這些微博信息都是從新浪微博的服務器中獲取的,所以與新浪微博的顯示數據是一致的。作為學習項目,本書微博項目的顯示界面模仿了新浪微博官方 App 的顯示界面和風格,可以顯示文字微博、單圖微博和多圖微博。顯示原創微博的界面如圖1-19所示。

圖1-19 顯示原創微博的界面
3.顯示轉發微博
用戶登錄成功以后,不僅可以顯示原創微博,還可以顯示轉發微博。轉發微博的顯示樣式與新浪微博官方App是一樣的。顯示轉發微博的界面如圖1-20所示。

圖1-20 顯示轉發微博的界面
4.發布微博
用戶登錄成功后,還可以通過本項目發布自己的原創微博,發布的微博被發送到新浪微博官方的服務器上,所以在新浪微博官方 App 上也可以看到。發布微博時,可以添加文字、表情和圖片等。發布微博的界面如圖1-21所示。

圖1-21 發布微博的界面
5.照片選擇和查看
在發布微博時,可以從本地相冊中選擇照片放在微博上。本項目提供了從本地相冊選擇照片和發布照片的功能。與新浪微博一致,最多可以從本地相冊中選擇9張圖片。從本地相冊選擇照片的界面如圖1-22所示。

圖1-22 照片選擇過程
6.數據緩存
用戶查看過的微博數據會緩存在本地,以提高下次查看微博的速度。為了控制本地數據的大小,不讓緩存數據無限制地膨脹,還會將早期的緩存數據定期清空,只保留近期的特定時間段的數據。
- Node.js+Webpack開發實戰
- 零基礎玩轉區塊鏈
- FFmpeg入門詳解:音視頻流媒體播放器原理及應用
- 數據結構(Python語言描述)(第2版)
- Learning Apache Mahout Classification
- 用戶體驗增長:數字化·智能化·綠色化
- Mastering Apache Maven 3
- Python時間序列預測
- Swift細致入門與最佳實踐
- Serverless computing in Azure with .NET
- Programming with CodeIgniterMVC
- Red Hat Enterprise Linux Troubleshooting Guide
- 零基礎學Scratch 3.0編程
- Python Web自動化測試設計與實現
- R的極客理想:量化投資篇