【发布时间】:2017-09-19 15:39:15
【问题描述】:
我正在尝试使用 Google API 获取 offline access。我必须从 Google 日历中提取数据,而无需用户每次都登录。
我已将此添加到我的 Gemfile 中:
gem 'google-api-client', '~> 0.9'
...并将其添加到我的控制器中:
require 'google/api_client/client_secrets'
class Api::V1::CalendarAccountsController < Api::V1::BaseController
...
在我的行动中:
client_secrets = Google::APIClient::ClientSecrets.load(
File.join(
Rails.root,
'config',
'client_secrets.json')
)
@auth_client = client_secrets.to_authorization
@auth_client.update!(
:scope => 'https://www.googleapis.com/auth/calendar.readonly',
:redirect_uri => '/{callback URL}',
:additional_parameters => {
"access_type" => "offline",
"include_granted_scopes" => "true"
}
)
redirect_to @auth_client.authorization_uri.to_s
问题是 -- 即使我将 "access_type" 指定为 "offline",我仍然没有被问到获取 Google 权限列表中的离线访问权限(我在下面附上了屏幕截图)。
这是我调用@auth_client.authorization_uri.to_s时生成的网址
我错过了什么吗?
【问题讨论】:
标签: ruby-on-rails oauth google-api google-calendar-api