googleAnalyticsR / googleAuthR令牌似乎在闪亮的Markdown中过期

时间:2019-03-22 15:08:57

标签: r shiny

这是我的问题。

我通过googleAnalyticsR通过R访问Google Analytics API。整个过程发生在Markdown脚本中。本地一切正常运行。但是,当我将脚本加载到Shiny Sever上时,GA令牌似乎会在一段时间(几个小时)后失效。

服务器日志显示以下错误消息:

gzfile(文件,模式)警告:   无法打开压缩文件“ .httr-oauth”,可能是“权限被拒绝”

用于创建令牌的脚本如下:

library(googleAuthR)

options(googleAuthR.client_id = "client-id",
        googleAuthR.client_secret = "client-secret")

gar_auth()

我读到我应该添加

googleAuthR.httr_oauth_cache = FALSE 

到选项。但是当我这样做并尝试创建新令牌时,出现以下错误:

Error: option('googleAuthR.httr_oauth_cache') must be set to 
         valid cache file location, 
         not TRUE or FALSE - (example: '.httr-oauth')

有人有想法吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

问题不是令牌已过期,软件包googleAnalyticsR会在需要时对其进行刷新。

问题是令牌不是在服务器上创建的(我假设您是在本地创建然后推送到服务器的),因此出现错误:

Warning in gzfile(file, mode) : cannot open compressed file '.httr-oauth', probable reason 'Permission denied'

运行您的应用程序的shiny用户无权打开该文件。 我不是安全专家,所以请谨慎。您从应用程序的根目录(在服务器上)运行以下命令,错误就会消失。

sudo chmod -R 777 .httr-oauth

以上内容将使shiny访问该文件。