我正在使用Rfacebook
版本0.6
。
当我使用getPage
和since
日期致电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
。
答案 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
相同。