来自Rfacebook的错误' getPage'从那以后直到

时间:2016-01-22 07:05:50

标签: r

我正在使用Rfacebook版本0.6

当我使用getPagesince日期致电until时,我收到以下错误消息。我做错了什么,或者是否需要在包本身中更新某些内容?

注意:<facebook_page_name><my_app_id><my_app_secret>是占位符,无需使用实际值。

以下是详细信息:

content<-get_fb_data("<facebook_page_name>",since="2016/01/01",until="2016/01/20",condition=2)

get_fb_data<-function(page_name,no_of_records,since_date,until_date,condition)
{

  #get data from facebook page

  library("Rfacebook")

  fb_oauth <- fbOAuth(app_id="<my_app_id>",    app_secret="<my_app_secret>",
extended_permissions = FALSE)

  if (condition == 1)
  {
    content<-getPage(page_name, fb_oauth, no_of_records, feed = TRUE)
  } 
  else
  {
    since_date<-paste(since_date,"00:00:00 IST",sep=" ")
    until_date<-paste(until_date,"23:59:59 IST",sep=" ")

    from_value<-as.numeric(as.POSIXct(since_date)) 
    to_value<-as.numeric(as.POSIXct(until_date))

    content<-getPage(page_name, fb_oauth, 
                         since = from_value, 
                         until = to_value, 
                         feed = TRUE)
  }

  return(content)
}

显示错误:

  

as.Date.numeric(自)的错误:&#39; origin&#39;必须提供

每次调试,这是来自as.Date中调用的函数getPage

1 个答案:

答案 0 :(得分:2)

这应该有效:

library("Rfacebook")

fb_oauth <- fbOAuth(app_id="<my_app_id>", app_secret="<my_app_secret>",
                    extended_permissions = FALSE)



get_fb_data <- function(page_name, no_of_records, since_date, 
                        until_date, condition){
    if (condition == 1){
        content<-getPage(page_name, fb_oauth, no_of_records, feed = TRUE)
    } else{
        content <- getPage(page_name, fb_oauth, 
                           since = since_date, 
                           until = until_date, 
                           feed = TRUE)
    }

    content
}

content <- get_fb_data("humansofnewyork",
                       since_date="2016/01/01",
                       until_date="2016/01/2",
                       condition=2)

我真的不明白,为什么你要改变日期格式 - 这是不必要的。更重要的是,您有语法错误,因为else应在}关闭if之后编写。你也不应该在你的功能中加载包。什么加载它每次?与fb_oauth相同。