当我将我的R闪亮应用程序部署到shinyapps.io时,我得到'错误:oauth_listener()需要一个交互式环境'。我该如何解决这个问题?

时间:2017-04-18 01:03:34

标签: r shiny

该应用程序旨在针对给定搜索词废弃Twitter的词频,然后根据频率创建词云。它在我在本地机器上运行时有效。以下是源代码:

library(shiny)

library(twitteR)

library(wordcloud)

library(tm)

twitter_key<-"XXX"

twitter_secret<-"XXX"

oauth<-setup_twitter_oauth(twitter_key, twitter_secret)

ui = shinyUI(fluidPage(

titlePanel("Twitter Wordcloud"),

textInput("text", label = h3("Search term:"), value = "president"),

actionButton("goButton", "Search"),

hr(),

mainPanel(

plotOutput("distPlot")

)

))

server = function(input, output) {

output$distPlot <- renderPlot({

input$goButton

isolate({

mach_tweets = searchTwitter(input$text, n=200, lang="en")

mach_text = sapply(mach_tweets, function(x) x$getText())

mach_text = sapply(mach_text,function(row) iconv(row, "latin1", "ASCII",          sub=""))

mach_text = gsub(" https.*","",mach_text)

mach_corpus = Corpus(VectorSource(mach_text))

tdm = TermDocumentMatrix(mach_corpus,

control = list(removePunctuation = TRUE,

stopwords = c(input$text, stopwords("english")),

removeNumbers = TRUE, tolower = TRUE))

m = as.matrix(tdm)

word_freqs = sort(rowSums(m), decreasing=TRUE)

dm = data.frame(word=names(word_freqs), freq=word_freqs)

wordcloud(dm$word, dm$freq, random.order=FALSE, colors=brewer.pal(8, "Dark2"))

})

})

}

shinyApp(ui, server)

1 个答案:

答案 0 :(得分:1)

我有同样的问题

在控制台中运行下一行代码,但首先要确保setup_twitter_oauth创建的.httr-oauth文件与ui.R和server.R位于同一目录中。

    rsconnect::deployApp(appDir = getwd(),appFiles = NULL)

它的作用是部署工作目录中的所有文件,包括此处的关键字.httr-oauth文件。