Подключение к Google Spreadsheet - PullRequest
       11

Подключение к Google Spreadsheet

0 голосов
/ 09 октября 2018

Я пытаюсь подключиться к электронной таблице Google через Java в соответствии с https://developers.google.com/sheets/api/quickstart/java.

Если я выполняю этот пример в своей среде IDE, он работает без проблем.Теперь я хочу интегрировать этот пример в мое приложение для Android.Первое действие напрямую вызывает основной метод предыдущей ссылки (код находится на шаге 3 ссылки. Основной метод был переименован, чтобы вызываться действием).Но я получаю сообщение об ошибке:

    W/System.err: java.io.IOException: unable to create directory: /tokens
    W/System.err:     at com.google.api.client.util.store.FileDataStoreFactory.<init>(FileDataStoreFactory.java:61)
    W/System.err:     at com.kazumi.management.ConnectToDatabase.getCredentials(ConnectToDatabase.java:70)

В соответствии с ошибкой это должна быть строка:

GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
                HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
                .setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
                .setAccessType("offline")
                .build();

Так что причина в том, что эта функция не может создатькаталог на моем виртуальном устройстве Android.Но почему это так?И существует ли обходной путь?

1 Ответ

0 голосов
/ 11 октября 2018

Так что я нашел решение сам.Внутреннее и внешнее хранилище трудно получить доступ на Android (https://developer.android.com/guide/topics/data/data-storage)

Поэтому, чтобы создать каталог на моем внутреннем хранилище, мне нужно использовать это:

File folder = getDir("theFolder",Context.MODE_PRIVATE);
...