Fecebook API VB. Net - Ошибка при получении лайков - PullRequest
0 голосов
/ 28 мая 2020

У меня есть код VB. net в настольном приложении, которое использует FB API для получения различной информации. Однако я сталкиваюсь с ошибкой, которую просто не могу понять. Может быть, я устал.

Dim pageFeedUrl As String = "/" + pageid + "/feed?fields=message,id,created_time,from,likes.summary(true)"
                Dim pagefeed = client.[Get](pageFeedUrl)
                For Each data As Object In pagefeed("data")
                    Dim pagepost__1 As New PagePost()
                    pagepost__1.postMessage = DirectCast(data.message, String)
                    pagepost__1.postid = DirectCast(data.id, String)
                    Dim datetime__2 As DateTime
                    DateTime.TryParse(data.created_time, datetime__2)
                    pagepost__1.postTime = datetime__2
                    pagepost__1.postAuthor = DirectCast(data.from.name, String)
                    pagepost__1.postAuthorid = DirectCast(data.from.id, String)
                    Dim getPostAuthorImageUrl As String = "/" + pagepost__1.postAuthorid + "?fields=picture.width(50).height(50)"
                    Dim postAuthorimage = client.[Get](getPostAuthorImageUrl)
                    Dim uri As New Uri(Convert.ToString(postAuthorimage.picture.data.url), UriKind.Absolute)
                    pagepost__1.postAuthorImage = New BitmapImage(uri)
                    pagepost__1.HasLiked = CBool(data.likes.summary.has_liked)
                    Dim likeCount As Integer = Convert.ToInt32(data.likes.summary.total_count)

                    If likeCount > 2 Then
                        pagepost__1.LikeText = data.likes.data(0).name.ToString() + " and " + (likeCount - 1).ToString() + " others"

Последняя строка выдает ошибку «Индекс был вне допустимого диапазона. Должен быть неотрицательным и меньше размера коллекции».
Когда я проверяю URL или используйте GRAPH API EXPLORER, я получаю достоверные результаты ...

{
  "data": [
    {
      "message": "The full text of the message was here",
      "id": "21901xxxxxxxxxx_31759xxxxxxxxxxx",
      "created_time": "2020-05-27T12:05:19+0000",
      "from": {
        "name": "ABCDE",
        "id": "21901xxxxxxxxxx"
      },
      "likes": {
        "data": [
          {
            "id": "186355xxxxxxxxxx",
            "name": "Axxxxxxx Gxxxxx"
          },
          {
            "id": "313491xxxxxxxxxx",
            "name": "Dxxxxxx Txxxxxxx"
          },
          {
            "id": "281300xxxxxxxxxx",
            "name": "Bxxxx Oxxxxxxx"
          },
          {
            "id": "137751xxxxxxxxxx",
            "name": "Sxxxxx Dxxxxx"

Итак, исходя из результатов выше, почему

data.likes.data (0). name.ToString ()

не работает. Это должно вернуть «Axxxxxxx Gxxxxx» , но вместо этого я получаю сообщение об ошибке. Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...