我正在使用已导出的漱口令牌,该令牌已导出到 RDS 文件。我目前无法检索另一个令牌,目前这就是我所拥有的。所以我不能以另一种更正确的方式导出它。
我使用此令牌通过 httr 连接到 Google My Business REST API。
使用令牌并为我访问数据的示例方式是:
token <- readRDS("/token/location/token.rds")
try(accounts <- invisible(GET("https://mybusiness.googleapis.com/v4/accounts",
config(token = token)) %>%
httr::content(as = 'parsed')))
这将导致错误:
Auto-refreshing stale OAuth token.
Error in gzfile(file, mode) : cannot open the connection
In addition: Warning message:
In gzfile(file, mode) :
cannot open compressed file '[I have removed this sensitive data]', probable reason 'No such file or directory'
但是在下一次尝试中,令牌将起作用,并且 httr::GET 将返回预期值。
我认为这是由具有预定义有效期的令牌引起的,并且在过期后需要更新。但是,在某些情况下(经过长时间计算),我无法预测令牌是否会过期。此外,每次在正确请求之前发出 GET 请求并不是一个好的解决方案,因为我会发出很多请求。
令牌对象本身包含以下结构:
> str(token)
Classes 'Gargle2.0', 'Token2.0', 'Token', 'R6' <Gargle2.0>
Inherits from: <Token2.0>
Public:
app: oauth_app
cache: function ()
cache_path: [I have removed this sensitive data]
can_refresh: function ()
clone: function (deep = FALSE)
credentials: list
email: [I have removed this sensitive data]
endpoint: oauth_endpoint
hash: function ()
init_credentials: function ()
initialize: function (email = gargle_oauth_email(), app = gargle_app(), package = "gargle",
load_from_cache: function ()
package: googleAuthR
params: list
print: function (...)
private_key: NULL
refresh: function ()
revoke: function ()
sign: function (method, url)
validate: function ()