Swift - Читать Google Sheets - PullRequest
       1

Swift - Читать Google Sheets

1 голос
/ 17 марта 2020

Я работаю над приложением, которое использует Google Sheets в качестве базы данных, но я не могу понять, как заставить Swift читать с листов Google. Я просмотрел веб-сайт API и несколько вопросов здесь, но мне нужна помощь, чтобы начать. Пока что у меня есть; private let scopes = [kGTLRAuthScopeSheetsSpreadsheets] private let service = GTLRSheetsService ()

    var range = "Form Responses 1!A1:D3"
    let spreadsheetId = "p;;;;;;p;;;;;;;;1LqXa6v75JE8RQQDOI4Z_g8mUT8x0DhsEDwRIaxDN-DU" // Portfolio
    let query = GTLRSheetsQuery_SpreadsheetsValuesGet.query(withSpreadsheetId: spreadsheetId, range:range)
    service.executeQuery(query, delegate: self, didFinish: #selector(displayResultWithTicket(ticket:finishedWithObject:error:)))

, который я получил по другому вопросу здесь ... Но displayResultWithTicket - это неразрешенный идентификатор. В настоящее время он достигает последней строки и отладки. Я даже не уверен, что делать со значением 'query'. Я действительно даже не уверен, что он читает правильную таблицу. Как я могу сказать?

Короче говоря, я потерян.

Ответы [ 2 ]

1 голос
/ 19 марта 2020

Сначала вам нужно экспортировать файл Google Sheets в формате CSV. Я использовал Realm для чтения CSV. Используя Realm Studio , вам необходимо создать столбцы, как в CSV-файле. Затем вы можете импортировать файл CSV в Realm Studio. Ваша база данных готова.

В didFinishLaunchingWithOptions , чтобы найти файл, созданный после установки Realm в вашем проекте

print(Realm.Configuration.defaultConfiguration.fileURL!.path)

Теперь мы будем использовать базу данных с Swift. Для этого мы должны сначала добавить подготовленный нами файл Realm в каталог проекта XCode. Затем мы используем его в ViewController для получения данных.

var realm : Realm!

Для получения данных в файле default.realm

    let realmPath = Bundle.main.url(forResource: "default", withExtension: "realm")!
    let realmConfiguration = Realm.Configuration(fileURL: realmPath, readOnly: true)

    do{
        realm = try Realm(configuration: realmConfiguration)
    }
    catch {
        print("error \(error.localizedDescription)")
    }

Вы можете экспортировать результат в массив. Надеюсь, это поможет.

1 голос
/ 17 марта 2020

Я недавно сделал приложение, которое использует Google Sheets. Но я использовал файл CSV для базы данных. Это может помочь. Если хочешь, могу поделиться подробностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...