【问题标题】:Unable to see gSuite Files with service account无法使用服务帐号查看 gSuite 文件
【发布时间】:2018-02-05 01:26:19
【问题描述】:

问题:我创建了一个服务帐户来与我的组织的 Google Drive 和电子表格文件进行交互 - 我能够成功地创建到 google drive API 的会话。但是,我可以访问的唯一文件是这个样板文件:

=> [#]

您认为我缺少什么级别的权限?

我唯一剩下的想法是,还有一些其他顶级权限隐藏了组织外部的文件。即使服务帐户在文件上明确共享?如果有任何迹象,当我与服务帐户共享时,它确实会这样说。

可能与此文档中的以下图片有关?

https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority

我已经完成的步骤..

1) 我创建了一个具有域范围委派和项目编辑状态的服务帐户。

2) 我已邀请该服务帐户通过电子邮件发送到我希望它具有 API 访问权限的工作表

3) 我的组织的 gSuite 管理员已将此服务帐户的 client_id 添加到 /Security / Manage API Client Access.. 范围为 -> https://www.googleapis.com/auth/drivehttps://spreadsheets.google.com/feeds

尝试了所有文档/教程中的所有组合。这是我的连接代码,基于https://www.twilio.com/blog/2017/03/google-spreadsheets-ruby.html。尝试传递 client_secret.json 中的范围。尝试使用服务帐户的 iam 角色工具。

session = GoogleDrive::Session.from_service_account_key("client_secret.json")

{
  "type": "service_account",
  "project_id": "gdrive-1231233",
  "private_key_id": "food87c0bar16da9bfoooooo677bar",
  "private_key": "-----BEGIN PRIVATE KEY-----\nsssEIEvQfooobarrrytyeho=\n-----END PRIVATE KEY-----\n",
  "client_email": "servicebot@gdrive-foobar.iam.gserviceaccount.com",
  "client_id": "foo40990211bar",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_foox_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_foox_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/servicebot%40gdrive-foobar.iam.gserviceaccount.com"
}

#<GoogleDrive::Session:0v3fc6c3e25061>

【问题讨论】:

    标签: ruby-on-rails google-drive-api google-api-client service-accounts


    【解决方案1】:

    因此,我可以用来查找显式电子表格的唯一方法是电子表格 - .files .spreadsheets .find_by_guid 等。全部返回 nil。但是通过 url 搜索直接返回的文件并允许我读/写。

    session = GoogleDrive::Session.from_service_account_key("client_secret.json")
    session.spreadsheet_by_url(ENV['GOOGLE_DATA_DUMP_URL'])
    worksheet = spreadsheet.worksheets[0]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 2020-11-01
      • 2020-08-22
      相关资源
      最近更新 更多