加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 访问Ruby on Rails中的Google Drive电子表格

发布时间:2020-12-17 01:20:36 所属栏目:百科 来源:网络整理
导读:我正在尝试获取Google云端硬盘电子表格的内容,但我似乎找不到可以轻松完成的宝石.我尝试了 google-drive-ruby,但它涉及到我必须从Google网站获取身份验证令牌的步骤.这不是很有帮助,因为我必须做所有这些服务器端.显然在以前版本的gem中有一个登录方法,但是
我正在尝试获取Google云端硬盘电子表格的内容,但我似乎找不到可以轻松完成的宝石.我尝试了 google-drive-ruby,但它涉及到我必须从Google网站获取身份验证令牌的步骤.这不是很有帮助,因为我必须做所有这些服务器端.显然在以前版本的gem中有一个登录方法,但是被删除了.

有没有办法做到这一点?我是否必须使用OAuth获取令牌并将该令牌传递到google-drive-ruby?

解决方法

我设法得到了Reddit的答案.您需要一个服务帐户,并与服务应用程序的电子邮件共享该文档. p12键也必须存储在某处.
# gem install google-api-client -v 0.8.6 # upper versions are not compatible with this code

require "google/api_client"

@email = "email@developer.gserviceaccount.com"
@key = "path/to/key.p12"

key = Google::APIClient::KeyUtils.load_from_pkcs12(@key,'notasecret')

auth = Signet::OAuth2::Client.new(
  token_credential_uri: 'https://accounts.google.com/o/oauth2/token',audience: 'https://accounts.google.com/o/oauth2/token',scope: ["https://www.googleapis.com/auth/drive","https://spreadsheets.google.com/feeds/"].join(' '),issuer: @email,access_type: 'offline',signing_key: key
)

auth.fetch_access_token!
puts auth.access_token

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读