
話說我要用Facebook 的Graph API,個API 看看到覺得幾好用幾方便,因為那只是個url GET request,return value 是個json。而個request 是這樣:
https://graph.facebook.com/<<node id>>/<<edge>>?access_token=<<token>>
個token 可以在 Graph API Token 度得到。
例如我要看胡同的facebook page的資料,即是名稱、地址、電話、like等等:
https://graph.facebook.com/hutongsauna?access_token=<<token>>
而個return 返來的json:
{
"id": "309000455861524",
"about": "http://www.hutonghk.com \u9999\u6e2f\u4e5d\u9f8d\u65fa\u89d2\u4e0a\u6d77\u8857639-645\u865f \u5bb6\u65fa\u6a133\u6a13, 2/F, Kar Wong Building, 639-645 Shanghai Street, Mongkok, Kowloon, Hong Kong",
"can_post": true,
"category": "Company",
"category_list": [
{
"id": "2200",
"name": "Company"
}
],
"checkins": 2,
"cover": {
"cover_id": "682432225185010",
"offset_x": 0,
"offset_y": 5,
"source": "https://fbcdn-photos-c-a.akamaihd.net/hphotos-ak-xpa1/v/t1.0-0/q82/p480x480/10606611_682432225185010_6206755817102689058_n.jpg?oh=982b5fb5b3227dd48b284fb07b63a39e&oe=56A7BBF2&__gda__=1449687028_f215c2072717472b18b371cf8dd40776",
"id": "682432225185010"
},
"description": "\u80e1\u540c\u6851\u62ff Hu-Tong Club, \u4f4d\u65bc\u9999\u6e2f\u65fa\u89d2\n\n\u9999\u6e2f\u6700\u65b0\u958b\u5e55(2012\u5e7410\u670827\u65e5), \n\u9999\u6e2f\u6700\u5927\u6700\u8c6a\u83ef\u7684\u6851\u62ff\u4e4b\u4e00. \n\n\u5730\u5740\uff1a\n\u9999\u6e2f\u4e5d\u9f8d\u65fa\u89d2\u4e0a\u6d77\u8857639-645\u865f \u5bb6\u65fa\u6a133\u6a13\n\uff08\u6e2f\u9421\u65fa\u89d2\u7ad9\uff21\uff12\u51fa\u53e3\uff09\n\nADD:2/F, Kar Wong Building, 639-645 Shanghai Street, \nMongkok, Kowloon, Hong Kong, \nMong Kok MTR A2",
"has_added_app": false,
"is_community_page": false,
"is_published": true,
"likes": 3754,
"link": "https://www.facebook.com/hutongsauna",
"location": {
"city": "Mong Kok",
"country": "Hong Kong",
"latitude": 22.3198395,
"longitude": 114.1678772,
"street": "\u65fa\u89d2\u4e0a\u6d77\u8857639-645\u865f\u5bb6\u65fa\u6a13\u4e09\u6a13",
"zip": "90000"
},
"name": "HuTong Club",
"parking": {
"lot": 0,
"street": 0,
"valet": 0
},
"phone": "+85223969595",
"talking_about_count": 19,
"username": "hutongsauna",
"website": "http://www.hutonghk.com",
"were_here_count": 2
}
而如果想看posts,個edge 是"feed"就得:
https://graph.facebook.com/hutongsauna/feed?access_token=<<token>>
個return value:
{
"data": [
{
"id": "309000455861524_888023984625832",
"from": {
"name": "HuTong Club",
"category": "Company",
"category_list": [
{
"id": "2200",
"name": "Company"
}
],
"id": "309000455861524"
},
"message": "\u4eca\u65e5 \u6478\u9ed1\u6d3e\u5c0d\n\u660e\u65e5 \u795e\u79d8\u6d3e\u5c0d (\u6301\u4e45\u6230\u6d3e\u5c0d) !!??\n\n\u80e1\u540c\u5b98\u7db2 http://www.hutonghk.com\n\n\u8b93\u4f60\u597d\u597d\u4eab\u53d7. \u7cbe\u5f69\u7684\u4e00\u591c. \u4f86\u904e\u5c31\u77e5\u9053!! \n\n\u8d0a\u52a9\u5546 http://www.18dsc.com.hk",
"picture": "https://fbcdn-photos-g-a.akamaihd.net/hphotos-ak-xpf1/v/t1.0-0/s130x130/12027742_888023984625832_4203065587458358447_n.jpg?oh=51cabfe618e2a11bc722e9c2b149e4af&oe=565E6C1B&__gda__=1453028518_38e897e6702788f03d6c023ce9d60a9e",
"link": "https://www.facebook.com/hutongsauna/photos/a.336832533078316.80464.309000455861524/888023984625832/?type=1",
"name": "Timeline Photos",
"icon": "https://www.facebook.com/images/icons/photo.gif",
"actions": [
{
"name": "Comment",
"link": "https://www.facebook.com/309000455861524/posts/888023984625832"
},
{
"name": "Like",
"link": "https://www.facebook.com/309000455861524/posts/888023984625832"
}
],
"privacy": {
"value": "",
"description": "",
"friends": "",
"allow": "",
"deny": ""
},
"type": "photo",
"status_type": "added_photos",
"object_id": "888023984625832",
"created_time": "2015-09-18T09:37:30+0000",
"updated_time": "2015-09-18T09:37:30+0000",
"is_hidden": false,
"is_expired": false,
"likes": {
"data": [
{
"id": "693495060691853",
"name": "\u718a\u67ef\u6797"
},
{
"id": "10201078168236715",
"name": "Sun Billy"
},
{
"id": "816396911721281",
"name": "Aaron Yu"
}
],
"paging": {
"cursors": {
"after": "ODE2Mzk2OTExNzIxMjgx",
"before": "NjkzNDk1MDYwNjkxODUz"
}
}
}
},
...]
}
大家可以見到資料都幾詳盡,但有個好重要的資料就是欠逢:每個post的like數,反而有like過的user的id。這些like user是以paging 的形式顯示,每次只傳回25個user,如果我要知道某個post 的like 數,我就要不停loop next page才count到總like數,很浪費network resource。很想知為何沒有總like數!
後來發現要用多一個request:
https://graph.facebook.com/<<post id>>/likes?summary=1
才能拿到like數,真麻煩!!!!
No comments:
Post a Comment