【问题标题】:Retrieve Oauth 2.0 refresh token with R httr google demo使用 R httr google demo 检索 Oauth 2.0 刷新令牌
【发布时间】:2015-01-28 21:33:38
【问题描述】:

当我按照 Hadley 的 R google Oauth2.0 演示访问 Fusion 表时,刷新令牌不可用。

演示:https://github.com/hadley/httr/blob/master/demo/oauth2-google.r

修改的“离线”尝试示例:

google_token <- oauth2.0_token(oauth_endpoints("google"), myapp,
                           scope = "https://www.googleapis.com/auth/fusiontables",
                           type= "offline",
                           use_oob = FALSE,
                           cache = TRUE)  

非常感谢任何有关如何检索刷新令牌的指导。

更新: 使用以下代码返回一个字符串,其中包含 google_token$credentials。这是这里引用的授权码吗:https://developers.google.com/accounts/docs/OAuth2WebServer#offline

google_token <- oauth2.0_token(oauth_endpoints("google"), myapp,
                           scope = "https://www.googleapis.com/auth/fusiontables", 
                           type= "access_type='offline'",
                           use_oob = FALSE,
                           cache = TRUE)    

谢谢。

【问题讨论】:

    标签: r google-api google-oauth google-fusion-tables httr


    【解决方案1】:

    我在这里参加聚会有点晚了,但希望这对某人有所帮助。我上周发现了这个问题,因为我在同一个问题上苦苦挣扎。和你一样,我阅读了 API 文档并尝试了“oauth2.0_token()”函数的“类型”字段中的“离线”,但它弄乱了响应。我从 github 存储库下载了 httr 包源文件并查看了一下。经过一番挖掘,我找到了绕过它的方法。

    如果你从这里修改 oauth-init 中的“authorize-url”变量:

    authorize_url <- modify_url(endpoint$authorize, query = compact(list(
        client_id = app$key,
        scope = scope_arg,
        redirect_uri = redirect_uri,
        response_type = "code",
        state = state)))
    

    到这里:

    authorize_url <- modify_url(endpoint$authorize, query = compact(list(
        client_id = app$key,
        scope = scope_arg,
        redirect_uri = redirect_uri,
        response_type = "code",
        state = state,
        access_type="offline")))
    

    然后获取 oauth-token 和所有相关函数(包括 oauth-init),您将获得一个刷新令牌。由于某种原因,当 oauth_token 调用 init_oauth2.0 时,它没有传递“类型”参数。

    这是一个令人讨厌的解决方法,我可能已经犯了一些罪,但它确实有效。你确实得到了一个刷新令牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2014-05-11
      • 1970-01-01
      • 2017-09-05
      • 2015-06-27
      • 1970-01-01
      相关资源
      最近更新 更多