javascript 使用Google API集成反应组件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用Google API集成反应组件相关的知识,希望对你有一定的参考价值。
/* global document, gapi, Promise */
import React, { PureComponent } from 'react';
class App extends PureComponent {
constructor(props) {
super(props);
this.state = { gapiReady: false, values: {} };
}
initGoogleAPI = () => {
const script = document.createElement('script');
script.src = 'https://apis.google.com/js/api.js';
script.onload = () => {
gapi.load('client:auth2', () => {
gapi.client
.init({
apiKey: '<api-key>',
clientId: '<cilent-id>',
discoveryDocs: [
'https://sheets.googleapis.com/$discovery/rest?version=v4',
],
scope: 'https://www.googleapis.com/auth/spreadsheets',
})
.then(() => {
Promise.resolve(gapi.auth2.getAuthInstance().signIn()).then(() => {
if (gapi.auth2.getAuthInstance().isSignedIn.get()) {
this.setState({ gapiReady: true });
}
});
});
});
};
document.body.appendChild(script);
};
componentDidMount() {
this.initGoogleAPI();
}
componentDidUpdate() {
if (this.state.gapiReady) {
gapi.client.sheets.spreadsheets.values
.get({
spreadsheetId: '<spreadsheet-id>',
range: 'A1:B1',
})
.then((response) => {
this.setState(({ values }) => ({
...values,
values: response.result,
}));
});
}
}
render() {
if (this.state.gapiReady) {
return (
<div>
<h1>GAPI is loaded and ready to use.</h1>
<pre>{this.state.values}</pre>
</div>
);
}
return <div>Loading GAPI...</div>;
}
}
export default App;
以上是关于javascript 使用Google API集成反应组件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google IAP 启用 CORS
Google Maps API当前位置不断更新
Google Talk API 与 Android 应用程序的集成
Android 中的 Google Pay API 集成
从 javascript 调用 Google 云打印/搜索 API
使用Javascript从Google Places搜索api获取纬度和经度