想要取得所有按讚人數/留言人數,沒聽過[FB API]的人,應該會用傳統方式展開一筆一筆複製下來,以下教學提供大家使用API快速取得所有清單。
舉例取得以下貼文(本教學僅提供貼文使用,其他分享、圖片、連結的取得方式不同)
步驟一:貼文右上角按下「嵌入貼文」
步驟二:複製嵌入語法
步驟三:取得貼文編號
步驟四:
說明: https://graph.facebook.com/貼文編號/comments?
Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq
Newtonsoft.Json 的使用方式請自行參考網路說明
Public Function Get_FB_Likes(ByVal Post_ID As String) As String()
Dim returnAry As String() = Nothing
Try
Dim objWebClient As New System.Net.WebClient
Dim url As String = String.Format("https://graph.facebook.com/{0}/likes?limit=1000", Post_ID) '注意:回傳結果每次最多1000筆,設定再多都無效
Dim list As New List(Of String)
Do Until String.IsNullOrWhiteSpace(url) = True
Dim JsonResult As String = Encoding.UTF8.GetString(objWebClient.DownloadData(New Uri(url.Trim))) '以UTF-8取得結果
Dim JObj As JObject = JsonConvert.DeserializeObject(JsonResult)
Dim Data As String = JObj.item("data").ToString
Dim JAerry As JArray = JsonConvert.DeserializeObject(Data) '取得陣列型態資料
Dim TmpAry = (From p In JAerry Select p.Item("name")).ToArray
For Each s In TmpAry
list.Add(s.ToString)
Next
If JObj.Item("paging").Item("next") IsNot Nothing Then '檢查是否有分頁
url = JObj.Item("paging").Item("next").ToString
Else
url = ""
End If
Loop
returnAry = list.ToArray '完成後轉換成陣列
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return returnAry
End Function
以上產生出來的資料就是所有按讚的人數
沒有留言:
張貼留言