3

我有一个使用 Google API 进行身份验证并获取日历事件列表的 React + Electron 应用程序。

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 应用程序的情况。

想法?想法?

4

0 回答 0