Google API в опубликованном приложении Electron: gapi.auth2.ExternallyVisibleError: Неверный cookiePolicy
У меня есть приложение React + Electron, использующее Google API для аутентификации и получения списка событий календаря.
Скрипт API загружается на head
из моего index.html
и инициализирован на моем App.js
вот так:
// Initializes the API client library and sets up sign-in state listeners.
initClient() {
let gapi = window["gapi"];
let that = this;
gapi.load("client", start);
function start() {
gapi.client
.init({
apiKey: GOOGLE_API_KEY,
clientId: CLIENT_ID,
discoveryDocs: [
"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest"
],
scope: "https://www.googleapis.com/auth/calendar.readonly"
})
.then(() => {
gapi.auth2
.getAuthInstance()
.isSignedIn.listen(that.updateSigninStatus);
that.updateSigninStatus(
gapi.auth2.getAuthInstance().isSignedIn.get()
);
that.setState({
apiLoaded: true
});
});
}
}
Он прекрасно работает в локальной среде, где у меня работает сервер, но как только я создаю свое приложение Electron и запускаю приложение "нативно", я получаю следующую ошибку: gapi.auth2.ExternallyVisibleError: Invalid cookiePolicy
У меня нет глубокого понимания API и серверов, чтобы понять это, но в ходе исследования я обнаружил, что API не работает с протоколом "file://", как в случае приложения Electron.
Мысли? Идеи?