APIで所有権を移す

サービスアカウントを使用してGoogle Drive上に作成したファイルの所有権を移すには同様にサービスアカウントを使用してAPI経由で移す必要がある。

require "google_drive"
session = GoogleDrive::Session.from_service_account_key(SERVICE_ACCOUNT_KEY)
session.spreadsheets.select(&:owned_by_me?).each do |spreadsheet|
  spreadsheet.acl.push(
    {
      type: "user",
      email_address: EMAIL_ADDRESS,
      role: "owner",
    },
    transfer_ownership: true,
  )
end