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.

Мысли? Идеи?

0 ответов

Другие вопросы по тегам