0

我正在尝试使用 getPost 函数访问特定 fb 页面上帖子的所有评论。我收到以下错误。那么我该如何解决这个问题呢?谢谢

library(Rfacebook)
load("fbauthentication")

date1<-Sys.Date()-7
date2<-Sys.Date()

MaybellineUS<-getPage(page="Maybelline",token=authentication,n=100,since=date1,until=date2,feed=TRUE)
df <- data.frame(from_id=character(),from_name=character(),message=character(),created_time=character(),
                 likes_count=numeric(),comments_count=numeric(),id=character(),stringsAsFactors = FALSE)
i <- 1
while(i<=length(MaybellineUS)){
  x<- getPost(post=MaybellineUS$id[i],n=500,token =authentication )
  df<-rbind(df,x[['comments']])
  i<-i+1
}

Error in callAPI(url = url, token = token) : 
  (#100) Tried accessing nonexisting field (from) on node type (Page)
4

1 回答 1

0

我对 Rfacebook 包有同样的问题。事实证明,这是因为第一次调用 (getPage) 从 API 返回了一些 NA 字段。因此,您的第二个调用 (getPost) 的格式不正确。为防止该错误,请将您的第二次调用包装在 if 语句中,如下所示:

i <- 1
while(i<=length(MaybellineUS1)){
if (!is.na(MaybellineUS1$id[i]) {
x<- getPost(post=MaybellineUS1$id[i],n=500,token =authentication )
df<-rbind(df,x[['comments']])
i<-i+1
  }
}

编辑:另外,我认为在您的示例中,您的令牌应该是“fbauthentication”,而不是“authentication”。

于 2017-03-12T13:42:04.967 回答