Я использую интерфейс Google Drive Picker для выбора папки и создания или обновления электронной таблицы в эту папку по расписанию
Иногда это работает так, как ожидалось, но в последнее время отображается сообщение «Чтобы выбрать элемент, пожалуйста, войдите в систему». При нажатии кнопки «Войти» отображается сообщение «Запрошенная вами функция в данный момент недоступна. Повторите попытку позже».
Раньше это происходило при повторной авторизации сразу после отзыва доступа, но теперь я запрашиваю дополнительные параметры, например, для кого используется папка, дата создания, имя папки для отображения в интерфейсе. Несколько дней он работал нормально, но сейчас вышеупомянутая проблема встречается часто.
createPicker(oauthToken, authCode, authUser) {
const googleViewId = window.google.picker.ViewId.FOLDERS;
const docsView = new window.google.picker.DocsView(googleViewId)
.setIncludeFolders(true)
.setMimeTypes('application/vnd.google-apps.folder')
.setSelectFolderEnabled(true);
const picker = new window.google.picker.PickerBuilder()
.addView(docsView)
.setOAuthToken(oauthToken)
.setDeveloperKey(this.props.developerKey)
.setCallback(data => {
if (data.action === window.google.picker.Action.PICKED) {
this.fetchFolderDetails(data, authCode, authUser);
}
});
if (this.props.multiSelect) {
picker.enableFeature(window.google.picker.Feature.MULTISELECT_ENABLED);
}
picker.build().setVisible(true);
}
fetchFolderDetails(data, authCode, authUser) {
window.gapi.client
.init({
apiKey: this.props.developerKey
})
.then(() =>
window.gapi.client.request({
path: 'https://www.googleapis.com/drive/v2/files/' + data.docs[0].id,
params: {
fields: 'permissions, title, createdDate, shared'
}
})
)
.then(response => {
let googleDriveData = {
folderId: data.docs[0].id,
mimeType: data.docs[0].mimeType,
authCode,
authUser,
folderName: response.result.title,
permissions: response.result.permissions,
shared: response.result.shared,
createdTime: response.result.createdDate
};
this.props.onChange(googleDriveData);
});
}
Я ожидаю увидеть список папок после авторизации.
Обновление
Добавление области видимости диска Google несколько устранило проблему, но проблема с повторной авторизацией сохраняется.