使用httr的google service_account(服务器端)的OAuth

时间:2015-06-02 06:11:39

标签: r httr

我正在使用google apis为服务器到服务器应用开发代码。 我想我应该使用服务帐户oauth风格。

但我无法解决下面的错误。

library(httr)

endpoint <- oauth_endpoints("google")
secrets <- jsonlite::fromJSON(file="~/dowloadFromGoogle.json")
scope <- "https://www.googleapis.com/auth/drive"
token <- oauth_service_token(endpoint, secrets, scope)

我收到错误

Error in PKI::PKI.load.key(textConnection(private_key), private = TRUE) : 
cannot find RSA private key in PEM format

我使用的json文件如下。可能我需要将jsonfile转换为pem格式? (我带走了下面的一些字符。)

{
  "private_key_id": "6a82",
  "private_key": "-----BEGIN PRIVATE KwZ7u003d\n-----END PRIVATE KEY-----\n",
  "client_email": "aaa@developer.gserviceaccount.com",
  "client_id": "aaa.apps.googleusercontent.com",
  "type": "service_account"
}

我在下面尝试了命令:

openssl pkcs12 -in aaa.p12 -nodes -nosecret > privatekey.pem

但是,如何在R?

中加载pem格式样式

关于其他语言, 我能够使用pl文件在url中描述的python客户端库做一个oauth。 https://developers.google.com/identity/protocols/OAuth2ServiceAccount

我是否需要为R代码使用p12文件?如果是这样,我该怎么写?

0 个答案:

没有答案