访问令牌 Google API 的刷新令牌:R 代码
Refresh Token for Access Token Google API: R Code
我正在尝试使用 R 代码使用我的刷新令牌、客户端 ID 和 YouTube api 的客户端密码检索访问令牌。
这是 google 如何 POST 请求的示例。
POST /o/oauth2/token HTTP/1.1 Host: accounts.google.com Content-Type: application/x-www-form-urlencoded client_id=21302922996.apps.googleusercontent.com&client_secret=XTHhXh1SlUNgvyWGwDk1EjXB&refresh_token=1/6BMfW9j53gdGImsixUH6kU5RsR4zwI9lUVX-tqf8JXQ&grant_type=refresh_token
这是我的 r 代码:
图书馆(httr)
url<- paste("https://accounts.google.com/o/oauth2/token?client_id=", client_id, "&client_secret=", client_secret, "&refresh_token=", refresh_token, "&grant_type=access_token", sep="")
POST(url)
我不断收到这样的回复:
日期:2015-09-0216:43
状态:400
内容类型:application/json
尺码:102 B
{
"error" : "invalid_request",
"error_description" : "Required parameter is missing: grant_type"
有更好的方法吗?也许使用 RCurl?如果是这样,请求的格式是什么?我将不胜感激!
RAdwords
包具有检索刷新令牌的功能。如果您不想添加整个包,您可以将以下代码添加到您的脚本中。
refreshToken = function(google_auth) {
# This function refreshes the access token.
# The access token deprecates after one hour and has to updated
# with the refresh token.
#
# Args:
# access.token$refreh_token and credentials as input
# Returns:
# New access.token with corresponding time stamp
rt = rjson::fromJSON(RCurl::postForm('https://accounts.google.com/o/oauth2/token',
refresh_token=google_auth$access$refresh_token,
client_id=google_auth$credentials$c.id,
client_secret=google_auth$credentials$c.secret,
grant_type="refresh_token",
style="POST",
.opts = list(ssl.verifypeer = FALSE)))
access <- rt
access
}
我正在尝试使用 R 代码使用我的刷新令牌、客户端 ID 和 YouTube api 的客户端密码检索访问令牌。
这是 google 如何 POST 请求的示例。
POST /o/oauth2/token HTTP/1.1 Host: accounts.google.com Content-Type: application/x-www-form-urlencoded client_id=21302922996.apps.googleusercontent.com&client_secret=XTHhXh1SlUNgvyWGwDk1EjXB&refresh_token=1/6BMfW9j53gdGImsixUH6kU5RsR4zwI9lUVX-tqf8JXQ&grant_type=refresh_token
这是我的 r 代码: 图书馆(httr)
url<- paste("https://accounts.google.com/o/oauth2/token?client_id=", client_id, "&client_secret=", client_secret, "&refresh_token=", refresh_token, "&grant_type=access_token", sep="")
POST(url)
我不断收到这样的回复:
日期:2015-09-0216:43
状态:400
内容类型:application/json
尺码:102 B
{ "error" : "invalid_request", "error_description" : "Required parameter is missing: grant_type"
有更好的方法吗?也许使用 RCurl?如果是这样,请求的格式是什么?我将不胜感激!
RAdwords
包具有检索刷新令牌的功能。如果您不想添加整个包,您可以将以下代码添加到您的脚本中。
refreshToken = function(google_auth) {
# This function refreshes the access token.
# The access token deprecates after one hour and has to updated
# with the refresh token.
#
# Args:
# access.token$refreh_token and credentials as input
# Returns:
# New access.token with corresponding time stamp
rt = rjson::fromJSON(RCurl::postForm('https://accounts.google.com/o/oauth2/token',
refresh_token=google_auth$access$refresh_token,
client_id=google_auth$credentials$c.id,
client_secret=google_auth$credentials$c.secret,
grant_type="refresh_token",
style="POST",
.opts = list(ssl.verifypeer = FALSE)))
access <- rt
access
}