# 粉絲專頁相關功能實驗
###### tags: `facebook` `page` `developer`
## 取得粉專動態的留言
### curl
```
curl -i -X GET \
"https://graph.facebook.com/v7.0/113977140360460/feed?fields=comments%7Bcan_reply_privately%2Cfrom%2Cid%2Cmessage%7D%2Cfrom%2Cmessage%2Cattachments%7Bmedia_type%2Cmedia%2Ctype%7D%2Cstatus_type%2Cupdated_time&access_token=<access token sanitized>"
```
### GET Parameters
```
{
"fields": "comments{can_reply_privately,from,id,message},from,message,attachments{media_type,media,type},status_type,updated_time"
}
```
### Response
```
{
"data": [
{
"comments": {
"data": [
{
"can_reply_privately": false,
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"id": "223522465350939_223528845350301",
"message": "麻煩大家留個言 謝謝"
},
{
"can_reply_privately": true,
"id": "223522465350939_223529645350221",
"message": "言"
},
{
"can_reply_privately": true,
"id": "223522465350939_223529728683546",
"message": "123"
},
{
"can_reply_privately": false,
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"id": "223522465350939_223529878683531",
"message": "感恩(回覆功能測試)"
},
{
"can_reply_privately": true,
"from": {
"name": "史約翰",
"id": "3675243985824577"
},
"id": "223522465350939_223531808683338",
"message": "不用粉專管理員身份留言"
},
{
"can_reply_privately": true,
"from": {
"name": "Ailia Lee",
"id": "2995496363903590"
},
"id": "223522465350939_223539925349193",
"message": "唷"
},
{
"can_reply_privately": false,
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"id": "223522465350939_223546432015209",
"message": "圖形API留言"
}
],
"paging": {
"cursors": {
"before": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANakl6TlRJNE9EUTFNelV3TXpBeE9qRTFPVFF6TmpRMk1EUT0ZD",
"after": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANakl6TlRRMk5ETXlNREUxTWpBNU9qRTFPVFF6TmpZANU5qRT0ZD"
}
}
},
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"message": "點按可新增說明",
"attachments": {
"data": [
{
"media_type": "video",
"media": {
"image": {
"height": 720,
"src": "https://scontent.fkhh1-2.fna.fbcdn.net/v/t15.5256-10/s720x720/107594205_223523462017506_8958110695103266928_n.jpg?_nc_cat=109&_nc_sid=ad6a45&_nc_oc=AQntBwMtAdyypYExxJHLVEwRWaQWXGUoYi24F-02vEvy1J3zm-09jN6AnhpChMZakAE&_nc_ht=scontent.fkhh1-2.fna&oh=bb0705ba6b08f164356fdc70ab4412a4&oe=5F2D8250",
"width": 405
},
"source": "https://video.fkhh1-2.fna.fbcdn.net/hvideo-atn-prn/_nc_cat-104/v/rIqgdqiwaKyxcUR1Bf8mU/live-dash/dash-abr3/123717159386458.mpd?_nc_rl=AfDkA3UXfnOH48AY&cbk=dash_www_alltiers_0626a&ms=m_CN&oh=6be8b86ce9d8d907930b4f01024a02c7&oe=5F09A31A"
},
"type": "video_inline"
}
]
},
"status_type": "added_video",
"updated_time": "2020-07-10T07:42:41+0000",
"id": "113977140360460_223522465350939"
}
],
"paging": "--sanitized--"
}
```
### 心得
* 可主動透過 Graph API 取得直播的留言
* 粉專身份的留言無法回覆
* 可取得粉專身份(但有啥用)
* 粉絲的留言可回覆
* 但無法取得粉絲身份
* 粉專管理員的留言可以回覆
* 可取得管理員身份(但有啥用)
* 非粉專成員的留言可回覆
* 可取得非粉絲的身份(蛤!?)
* 直播中可透過 Graph API (以粉專身份)留言
## 取得粉專直播的留言
### curl
```
curl -i -X GET \
"https://graph.facebook.com/v7.0/113977140360460_223522465350939?fields=attachments%2Ccomments%7Bcan_reply_privately%2Ccreated_time%2Cmessage%2Cid%2Cfrom%2Cparent%7D%2Cfrom%2Cid%2Cmessage%2Cstatus_type%2Cstory&access_token=<access token sanitized>"
```
### GET parameters
```
{
"fields": "attachments,comments{can_reply_privately,created_time,message,id,from,parent},from,id,message,status_type,story"
}
```
### Response
```
{
"attachments": {
"data": [
{
"media": {
"image": {
"height": 640,
"src": "https://scontent.fkhh1-2.fna.fbcdn.net/v/t15.5256-10/107594205_223523462017506_8958110695103266928_n.jpg?_nc_cat=109&_nc_sid=ad6a45&_nc_oc=AQntBwMtAdyypYExxJHLVEwRWaQWXGUoYi24F-02vEvy1J3zm-09jN6AnhpChMZakAE&_nc_ht=scontent.fkhh1-2.fna&oh=3316d1f8b9f89347998f8e1fada615f0&oe=5F2E132C",
"width": 360
},
"source": "https://video.fkhh1-1.fna.fbcdn.net/v/t42.1790-2/10000000_594618307858719_1422200100332994635_n.mp4?_nc_cat=102&vs=f6d41d2d93a04d3&_nc_vs=HBksFQAYJEdJQ1dtQUFmVVFSZHpSd0NBRXVBMzhOMHE3d1RidjRHQUFBRhUAAsgBABUAGCRHSUNXbUFEMHgtVXEyeU1CQUFhaHhsbkd4MHdEYnY0R0FBQUYVAgLIAQAoRC1pICclcycgLWZiX3VzZV90ZmR0X3N0YXJ0dGltZSAxIC1pICclcycgLWMgY29weSAtbW92ZmxhZ3MgZmFzdHN0YXJ0KwGIEnByb2dyZXNzaXZlX3JlY2lwZQExFQAlABwAABgPMTEzOTc3MTQwMzYwNDYwFuKt%2Fovc0mUVAigCQzMYA2F2MRwXQLto2ZmZmZoYGWRhc2hfbGl2ZV9tZF9mcmFnXzJfdmlkZW8SABgYdmlkZW9zLnZ0cy5jYWxsYmFjay5wcm9kGRwVABWKnwMAKBJWSURFT19WSUVXX1JFUVVFU1QbB4gVb2VtX3RhcmdldF9lbmNvZGVfdGFnBm9lcF9zZBNvZW1fcmVxdWVzdF90aW1lX21zDTE1OTQzNzE2OTc3MzcMb2VtX2NmZ19ydWxlCndhc2xpdmVfc2QTb2VtX3JvaV9yZWFjaF9jb3VudAE3DG9lbV92aWRlb19pZA8yMjM1MjI0NjUzNTA5MzkSb2VtX3ZpZGVvX2Fzc2V0X2lkDzIyMzUyMjQ2MjAxNzYwNhVvZW1fdmlkZW9fcmVzb3VyY2VfaWQPMjIzNTIyNDU4Njg0MjczJQQA&_nc_sid=a6057a&efg=eyJ2ZW5jb2RlX3RhZyI6Im9lcF9zZCJ9&_nc_oc=AQkbyAFDPsv9l_dopVC_zuk77T4XibeFoB0sH9Qd_Rlu1zMxwulA8ELoFpxaiWEOAVo&_nc_ht=video.fkhh1-1.fna&oh=8cd643a7e78aac8f500975d2eacf0581&oe=5F09D13A&_nc_rid=bb692775ac17401"
},
"target": {
"id": "223522465350939",
"url": "https://www.facebook.com/jkfans.live/videos/223522465350939/"
},
"type": "video_inline",
"url": "https://www.facebook.com/jkfans.live/videos/223522465350939/"
}
]
},
"comments": {
"data": [
{
"can_reply_privately": true,
"created_time": "2020-07-10T07:05:13+0000",
"message": "言",
"id": "223522465350939_223529645350221"
},
{
"can_reply_privately": true,
"created_time": "2020-07-10T07:27:43+0000",
"message": "唷",
"id": "223522465350939_223539925349193",
"from": {
"name": "Ailia Lee",
"id": "2995496363903590"
}
},
{
"can_reply_privately": false,
"created_time": "2020-07-10T08:01:02+0000",
"message": "圖形API留言回覆",
"id": "223522465350939_223555698680949",
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
}
},
{
"can_reply_privately": false,
"created_time": "2020-07-10T07:03:24+0000",
"message": "麻煩大家留個言 謝謝",
"id": "223522465350939_223528845350301",
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
}
},
{
"can_reply_privately": false,
"created_time": "2020-07-10T07:42:41+0000",
"message": "圖形API留言",
"id": "223522465350939_223546432015209",
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
}
},
{
"can_reply_privately": false,
"created_time": "2020-07-10T08:00:29+0000",
"message": "圖形API留言",
"id": "223522465350939_223555425347643",
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
}
},
{
"can_reply_privately": true,
"created_time": "2020-07-10T07:05:22+0000",
"message": "123",
"id": "223522465350939_223529728683546"
},
{
"can_reply_privately": true,
"created_time": "2020-07-10T07:10:10+0000",
"message": "不用粉專管理員身份留言",
"id": "223522465350939_223531808683338",
"from": {
"name": "史約翰",
"id": "3675243985824577"
}
}
],
"paging": {
"cursors": {
"before": "OAZDZD",
"after": "MQZDZD"
}
}
},
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"id": "113977140360460_223522465350939",
"message": "點按可新增說明",
"status_type": "added_video",
"story": "Jkfans 直播的直播影片 — 在台南市。",
"__debug__": {}
}
```
### 心得
## 取得**非粉絲**的身份
### curl
```
curl -i -X GET \
"https://graph.facebook.com/v7.0/2995496363903590?access_token=<access token sanitized>"
```
### Response
```
{
"name": "Ailia Lee",
"id": "2995496363903590"
}
```
### 心得
* 竟然可以拿到非粉專成員的身份
* 但也僅是拿到(粉絲專頁|應用程式)範圍識別身份
##
### curl
```
curl -i -X POST \
"https://graph.facebook.com/v7.0/113977140360460_223522465350939/comments?message=%E5%9C%96%E5%BD%A2API%E7%95%99%E8%A8%80%E5%9B%9E%E8%A6%86&parent=223522465350939_223539925349193&access_token=<access token sanitized>"
```
### POST parameters
```
{
"message": "圖形API留言回覆",
"parent": "223522465350939_223539925349193"
}
```
### Response
```
{
"id": "223522465350939_223555698680949"
}
```
### 心得
* 即使官方文件載明無法使用 Graph API 建立留言,但實驗證實還是可行;此功能未來會不會無預警關閉很難說。
* 無法透過 Graph API **回覆**留言。
## 取得某一則留言的詳細資料
### curl
```
curl -i -X GET \
"https://graph.facebook.com/v7.0/223522465350939_223529728683546?fields=created_time%2Cid%2Cmessage%2Cfrom%2Cobject%2Cparent%2Cprivate_reply_conversation%2Ccomments%2Clikes%2Creactions%2Ccan_reply_privately&access_token=<access token sanitized>"
```
### GET Parameters
```
{
"fields": "created_time,id,message,from,object,parent,private_reply_conversation,comments,likes,reactions,can_reply_privately"
}
```
### Response
```
{
"created_time": "2020-07-10T07:05:22+0000",
"id": "223522465350939_223529728683546",
"message": "123",
"object": {
"description": "點按可新增說明",
"updated_time": "2020-07-10T06:55:21+0000",
"id": "223522465350939"
},
"comments": {
"data": [
{
"created_time": "2020-07-10T07:05:43+0000",
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"message": "感恩(回覆功能測試)",
"id": "223522465350939_223529878683531"
}
],
"paging": {
"cursors": {
"before": "QVFIUnhWWklMNC15empUZAVY3QnpuOFRPUmt4Nkp5Vk5NbktmSXdfSnU4ekhiaW5ScFpjSmFCSDV3b0RoaE9TNWotOFVRejVDYVJGRWo2cXFLT0UxdDJmbGVn",
"after": "QVFIUnhWWklMNC15empUZAVY3QnpuOFRPUmt4Nkp5Vk5NbktmSXdfSnU4ekhiaW5ScFpjSmFCSDV3b0RoaE9TNWotOFVRejVDYVJGRWo2cXFLT0UxdDJmbGVn"
}
}
},
"can_reply_privately": true
}
```
### 心得
* 可以取得回覆的留言
## 取得某一則留言的回覆
### curl
```
curl -i -X GET \
"https://graph.facebook.com/v7.0/223522465350939_223529728683546/comments?access_token=<access token sanitized>"
```
### Response
```
{
"data": [
{
"created_time": "2020-07-10T07:05:43+0000",
"from": {
"name": "Jkfans 直播",
"id": "113977140360460"
},
"message": "感恩(回覆功能測試)",
"id": "223522465350939_223529878683531"
}
],
"paging": "--sanitized--"
}
```
### 心得
* 這個方式似乎比前一個輕量化,但相關資訊較少。
## 回覆留言
### curl
```
curl -i -X POST \
"https://graph.facebook.com/v7.0/223522465350939_223539925349193/comments?message=%E5%BE%9E%E3%80%8C%E5%9C%96%E5%BD%A2%20API%20%E6%B8%AC%E8%A9%A6%E5%B7%A5%E5%85%B7%E3%80%8D%E5%9B%9E%E8%A6%86%E7%9C%8B%E7%9C%8B&access_token=<access token sanitized>"
```
### POST Parameters
```
{
"message": "從「圖形 API 測試工具」回覆看看"
}
```
### Response
```
{
"id": "223522465350939_223602995342886"
}
```
### 心得
* 官方沒載明可以,但還是可行的。