Google API в опубликованном приложении Electron: gapi.auth2.ExternallyVisibleError: Неверный cookiePolicy - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть приложение React + Electron, использующее API Google для аутентификации и получения списка событий календаря.

Скрипт 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.

Мысли?Идеи?

...