Я могу успешно получить быстрый запуск Execution API для работать для доступа к именам файлов.
Но расширение сценария быстрого запуска для использования функций электронной таблицы вызывает ошибку типа «Проблемы проверки подлинности не найдены».
Добавление DriveApp.getFilesByName()
не вызывает проблем с правами доступа, именно добавление SpreadsheetApp.create()
вызывает ошибку. При сохранении дополненного сценария выдается сообщение о том, что для сценария требуются дополнительные разрешения. Я пытался:
- создание/сохранение нового/полного скрипта, чтобы все необходимые разрешения были установлены с первым экземпляром скрипта
- удаление данных приложения в целевом объекте, чтобы принудительно предоставить новые разрешения
- удаление приложения в целевом устройстве, чтобы принудительно предоставить новые разрешения
- повторное создание нового ключа SHA1 и повторное использование нового ключа для повторного запуска процесса предоставления разрешений
Мой код:
function getFoldersUnderRoot() {
var my_ss = "SDRP-Log-Test";
var my_sheet = "month";
var files = DriveApp.getFilesByName(my_ss);
var file = !files.hasNext() ? SpreadsheetApp.create(my_ss) : files.next();
var ss = SpreadsheetApp.openById(file.getId());
var root = DriveApp.getRootFolder();
var folders = root.getFolders();
var folderSet = {};
while (folders.hasNext()) {
var folder = folders.next();
folderSet[folder.getId()] = folder.getName();
}
return folderSet;
}
Я самостоятельно проверил, что сценарии электронной таблицы работают правильно через интерфейс разработки, поэтому сценарии работают.
build.gradle
:
defaultConfig {
applicationId "com.jackb.sdrp"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
Платформа разработки:
- Хост: Win10 и Android Studio 1.4 (текущее исправление)
Цель:
- Samsung Galaxy S2 и Android 4.1.2
- Samsung Galaxy S5 и Android 5.1.1