用 Instagram API 來理解,接口是什么?接口是怎么運(yùn)作的?(三)

打開 Endpoints 頁面,我們可以知道有哪些數(shù)據(jù)是可以獲取的。比如 User,我可以獲取用戶個人資料和用戶近期發(fā)布的照片。

而 GET 和 POST 是最常見的請求方式,顧名思義,GET 接口是取數(shù)據(jù),POST 是發(fā)數(shù)據(jù),當(dāng)然還是 PUT、DELETE 這樣的請求方式。

以 GET /users/self/media/recent 接口為例,這個接口可以查詢用戶近期發(fā)布的照片。Instagram 要求我們發(fā)送:

https://api.instagram.com/v1/users/self/media/recent/?access_token=ACCESS-TOKEN

知道怎么做了吧?替換一下 access_token,變成:

https://api.instagram.com/v1/users/self/media/recent/?access_token=631487536.a273c29.573aa95fa1b6403db80fe6ac60191c4f

怎么請求?直接在瀏覽器地址欄輸入回車就可以。像下圖這樣,就意味著請求成功了。

你一定會說「這么一大串,我這么看啊…」。這是節(jié)約數(shù)據(jù)體積、縮短傳輸時間的考慮,把所有換行和空格都去掉了。

這時有兩招。第一招,網(wǎng)上搜「json 美化」,把這段東西粘貼進(jìn)去,處理一下。馬上,這串 json 代碼就變得可讀了。

第二招,安裝一個專業(yè)一點的數(shù)據(jù)請求工具,比如我用的 Postman,有 Chrome 插件版本,且有歷史記錄、各種格式轉(zhuǎn)化等功能。

拿到數(shù)據(jù),該怎么看?我先摘取一小段:

{
    "pagination": {},
    "data": [
        {
            "id": "1802970419143574443_631487536",
            "user": {
                "id": "631487536",
                "full_name": "劉英滕",
                "profile_picture": "https://scontent.cdninstagram.com/vp/8a497f3eebaea72dda8fe47ddee1d3a8/5BBAF55E/t51.2885-19/s150x150/13129637_1738545199758157_1620655362_a.jpg",
                "username": "ethonlau"
            },
            "images": {
                "thumbnail": {
                    "width": 150,
                    "height": 150,
                    "url": "https://scontent.cdninstagram.com/vp/d909cd92e5ce9307be89d7ad44a0217b/5BA901CE/t51.2885-15/s150x150/e35/34983442_1794878883891742_239795720717074432_n.jpg"
                },
                "low_resolution": {
                    "width": 320,
                    "height": 320,
                    "url": "https://scontent.cdninstagram.com/vp/897d29b245e6cdd45442e956034fdca7/5BB4C089/t51.2885-15/s320x320/e35/34983442_1794878883891742_239795720717074432_n.jpg"
                },
                "standard_resolution": {
                    "width": 640,
                    "height": 640,
                    "url": "https://scontent.cdninstagram.com/vp/29cad764e1e47ddbb8e19b9c0ad82777/5BA96ECA/t51.2885-15/s640x640/sh0.08/e35/34983442_1794878883891742_239795720717074432_n.jpg"
                }
            },
            "created_time": "1529150844",
            "caption": {
                "id": "17879956372231257",
                "text": "偶遇深澤??",
                "created_time": "1529150844",
                "from": {
                    "id": "631487536",
                    "full_name": "劉英滕",
                    "profile_picture": "https://scontent.cdninstagram.com/vp/8a497f3eebaea72dda8fe47ddee1d3a8/5BBAF55E/t51.2885-19/s150x150/13129637_1738545199758157_1620655362_a.jpg",
                    "username": "ethonlau"
                }
            },
            "user_has_liked": false,
            "likes": {
                "count": 6
            },
            "tags": [],
            "filter": "Normal",
            "comments": {
                "count": 3
            },
            "type": "image",
            "link": "https://www.instagram.com/p/BkFcAstlwOr/",
            "location": null,
            "attribution": null,
            "users_in_photo": []
        },
……

這是我近期發(fā)布的一張照片,可以逐一進(jìn)行對應(yīng):

images 包含了照片的尺寸和 URL,原來圖片被存為了 150、320、640 寬高這樣三份;
created_time 就是發(fā)布時間,1529150844 看不懂,因為這是 Unix 時間戳,同樣在網(wǎng)上搜「Unix 時間戳 轉(zhuǎn)換」,1529150844 就是北京時間 2018/6/16 20:07:24 ,是不是跟照片發(fā)布時間對應(yīng)上了?
caption 里的 text 就是這張照片的配字;
user_has_liked 是用戶自己是否有點贊,比如照片列表頁就要用這個數(shù)據(jù),不然就不知道點贊按鈕要不要顯示 active 狀態(tài)了;
likescount 是 6,有 6 個人給我點贊了;
filter 是 normal,這張照片我確實沒有用濾鏡,原來用了哪個濾鏡還會被記錄下來啊……

興奮嗎?這就是數(shù)據(jù)的真面目。你會發(fā)現(xiàn)很多以前不知道的事情,也會更理解數(shù)據(jù)是怎么存儲的。數(shù)據(jù)被存在數(shù)據(jù)庫里,通過接口,你能獲得指定的數(shù)據(jù),也可以修改數(shù)據(jù)(比如發(fā)布一張新照片、換一下頭像),或者刪除數(shù)據(jù)。

而接口還有更多自定義項,比如剛才的 GET /users/self/media/recent 接口,你還可以配置 count 來調(diào)節(jié)一次請求照片數(shù)量,比如 &count=1 就是一次獲取一張,&count=5 就是一次獲取五張。實際中,接口還有對分頁的處理,有版本之分,有規(guī)定時間內(nèi)請求次數(shù)的限制。


下一篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容