API Календаря Google gapi.client.init в create-реакции-приложении выдает ошибку - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь адаптировать код из браузера Календаря Google Быстрый запуск для работы в приложении React.Всякий раз, когда я пытаюсь запустить метод gapi.client.init, он выдает эту ошибку:

Refused to display 'https://developers.google.com/static/proxy?usegapi=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en_US.MDhkA3012xc.O%2Fam%3DQQ%2Frt%3Dj%2Fd%3D1%2Frs%3DAGLTcCM6WmePnR12kdbRAwKb1aCuIQXH1Q%2Fm%3D__features__#parent=http%3A%2F%2Flocalhost%3A3000&rpctoken=1847815717' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

Я помещаю весь свой код ниже.Я сделал белый список своего происхождения.Я не знаю, должно ли это быть чем-то кроме http://localhost:3000

import React, { Component } from 'react';
import config from '../../config';

class Index extends Component {
  componentDidMount() {
    window.gapi.load('client:auth2', function() {
      window.gapi.client.init({
        apiKey: config.apiKey,
        discoveryDocs: config.discoveryDocs,
        clientId: config.clientId,
        scope: config.scope
      });
    });
  }
  login() {
    console.log('logging in...');
    window.gapi.auth2.getAuthInstance().signIn();
  }
  render() {
    return (
      <div>
        <button type="button" onClick={this.login.bind(this)}>Login with Google</button>
      </div>
    )
  }
}

export default Index;

1 Ответ

0 голосов
/ 28 ноября 2018

Я понял, что моя проблема в том, что я не включил функцию обратного вызова в метод gapi.client.init ().Когда я добавил пустую функцию обратного вызова, аутентификация работала отлично.

window.gapi.client.init({
  apiKey: config.apiKey,
  discoveryDocs: config.discoveryDocs,
  clientId: config.clientId,
  scope: config.scope
}).then(function(){ //Put anything here; it can be empty });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...