callAPI出错(url = url,token = token):(#100)尝试在节点类型(页面)

时间:2017-03-10 18:46:48

标签: r facebook rfacebook

我正在尝试使用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)

1 个答案:

答案 0 :(得分: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”,而不是“身份验证”。