Thought I would give an update as we have got it working.
How we work is, we have a central Google Sheet that stores all our mappings which is modified by a few people. To get this to work using the Drive API, we first have a script running that copies this one file into multiple files (you will see why shortly). This script runs at night. You could also use the importrange method within each of the sheets.
In Datalink we then have a separate connector for each file. Each file has a ID (which you can see in the address bar) and we are calling this file using the following REST URL (replace {SpreadsheetID} with the relevant ID:
https://www.googleapis.com/drive/v3/files/{SpreadsheetID}/export
We are then exporting this file to a CSV. The Drive API only allows you to export the first tab to tsv/csv (hence why a separate file for each mapping table per above).
In the 'Has Query Arguments' you need the following to convert it to a CSV:
Key: mimeType
Value: text/csv
This appears to work fine. We are using OAUTH2
Drive API Docs: Files: export | Drive REST API v2 | Google Developers
The next thing we are going to try and get working is using the Google Sheets API which returns JSON. I don't think the JSON follows Apptio guidelines, so tbc.
FYI, Google Sheets API: REST Resource: spreadsheets.values | Sheets API | Google Developers
Cheers