这是我的问题。
我通过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')
有人有想法吗?
非常感谢
答案 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
访问该文件。