使用Rstudio服务器时在httr中配置侦听器_端点
一、 "我正在努力使用使用Rstudio服务器时在httr中配置侦听器_端点,r,google-analytics,rstudio,httr,rstudio-server,R,Google Analytics,Rstudio,Httr,Rstudio Server,一、 "我正在努力使用httroauth2.0功能连接到谷歌分析 oauth2.0_token(oauth_endpoints("google") , oauth_app("google", client.id, client.secret) , scope = "https://www.googleapis.com/auth/analytics.readonly") 它在我本地的Rstudio中工作得很好,但在基于AWS的Rstudio服务器中却出现了故障。当我同意在浏览器中传递数据
httr
oauth2.0功能连接到谷歌分析
oauth2.0_token(oauth_endpoints("google")
, oauth_app("google", client.id, client.secret)
, scope = "https://www.googleapis.com/auth/analytics.readonly")
它在我本地的Rstudio中工作得很好,但在基于AWS的Rstudio服务器中却出现了故障。当我同意在浏览器中传递数据,谷歌将我重定向到该页面时,就会出现错误
在本地Rstudio中启动身份验证时,浏览器会以消息“身份验证完成”进行响应。请关闭此网页并返回R,如果是Rstudio服务器,则此网页不可用
我怀疑我需要更改listener_端点配置,但如何更改?我应该把我的Rstudio服务器地址改为默认127.0.0.1吗?或者是httr+Rtudio服务器的缺陷,我不应该麻烦 您可以使用带外身份验证-
options(httr_oob_default = TRUE)
重定向URI是问题的一部分。Httr的oauth2.0_token()函数确定正确的一个。当您设置项目时,Google Analytics创建了两个重定向URI,一个可用于RStudio IDE(本地),另一个可用于RStudio基于web的环境中进行带外身份验证:“urn:ietf:wg:oauth:2.0:oob” 一旦您进行了身份验证,下面的代码应该可以工作
library(httr)
ga_id <- YourProjectID
client_id <- YourClientID
redirect_uri <- 'urn:ietf:wg:oauth:2.0:oob'
scope <- YourScope
client_secret <- YourSecret
response_type <-'code'
auth1 <- oauth2.0_token(
endpoint = oauth_endpoints("google"),
app = oauth_app(
"google",
key = client_id,
secret = client_secret
),
scope,
use_oob = TRUE,
cache = TRUE
)
库(httr)
我会在本地做的。将令牌另存为r数据文件。将其上传到AWS并使用缓存令牌。这正是我现在所做的,但我认为其他人也会对更优雅的解决方案感兴趣