标签: google-api-js-client

如何使用 React JS 将数据放入我的 Google 电子表格中

我使用它作为参考https://github.com/ruucm/react-google-sheets 但每当我运行它时我都会收到一个 gapi 404 错误我有预感 github 链接不存在,因此我的应用程序不能工作

或者也许我错了。

是否有一个非常好的参考资料,我可以将数据从 react js 发送到谷歌电子表格?

我已经在电子表格上尝试了很多次尝试,但它在电子表格中将数据提供给应用程序的位置正好相反我需要的是对电子表格做出反应

import React, { Component } from 'react';
import ReactGoogleSheets from 'react-google-sheets';

class GoogleSheets extends Component {

    constructor(props) {
        super(props)
        this.state = {
            sheetLoaded: false,
        }
    }

    render() {
        return (

            <ReactGoogleSheets
                clientId={'243...apps.googleusercontent.com'}
                apiKey={'AIza...'}
                spreadsheetId={'2PAC...'}
                afterLoading={() => this.setState({ sheetLoaded: true })}
            >
                {this.state.sheetLoaded ?
                    <div>
                        {/* Access Data */}
                        {console.log('Your sheet data : ', this.props.getSheetsData( 'gSheets' ))}
                        {/* Update Data */}
                        <button onClick={() => {
                            this.props.updateCell( …
Run Code Online (Sandbox Code Playgroud)

javascript google-api-js-client reactjs

5
推荐指数
1
解决办法
3591
查看次数

谷歌登录提示“此浏览器或应用程序可能不安全”

我正在https://localhost:44367/上测试我的本地应用程序,使用 Chrome 进行谷歌登录。

我的应用程序是使用 .Net 核心的 Angular 6

当我尝试使用我的凭据登录时,出现错误提示

无法登录此浏览器或应用程序可能不安全。尝试使用其他浏览器。如果您已经在使用受支持的浏览器,则可以刷新屏幕并再次尝试登录。

这曾经在本地工作,但从今天起停止工作。

请帮我

谢谢

google-sites google-api-js-client

5
推荐指数
1
解决办法
2507
查看次数

Google使用api javascript/jquery注销

在我的Web应用程序中,我允许用户使用API​​客户端库中的auth命令登录,但我找不到Google API JavaScript客户端库的Logout选项.

任何人都可以建议我如何退出我的应用程序以及谷歌帐户?

我的登录代码是:

var OAUTHURL = 'https://accounts.google.com/o/oauth2/auth?';
var VALIDURL = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=';
var SCOPE = 'https://www.googleapis.com/auth/userinfo.profile';
var CLIENTID = googleAPI;
var REDIRECT = redirectUrl;
var TYPE = 'token';
var _url = OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE;
var acToken;
var tokenType;
var expiresIn;
var user;
$('#googleLogin').click(function(){
        var win = window.open(_url, "windowname1", 'width=800, height=600');

        var pollTimer = window.setInterval(function () {
            if (win.document.URL.indexOf(REDIRECT) != -1) {
                window.clearInterval(pollTimer);
                var url = …
Run Code Online (Sandbox Code Playgroud)

jquery google-app-engine google-api-js-client

4
推荐指数
1
解决办法
7531
查看次数

Google 身份服务 - 如何从经过身份验证的用户获取个人资料/电子邮件信息

我正在移植一些现有的 js 代码,通过谷歌云平台进行身份验证(因为它们正在迁移到一组新的库)。

(迁移指南:https://developers.google.com/identity/oauth2/web/guides/migration-to-gis

我正在努力获取玩家的个人资料(以获取他们的电子邮件)。

旧的方法将遵循这一点(但正如它所说,它现在已被弃用 - 我一直在阅读新文档,但它主要围绕获得授权/身份验证而不是后续内容): https:// Developers.google.com/identity/sign-in/web/people

例如

var profile = auth2.currentUser.get().getBasicProfile();
var email = profile.getEmail();
Run Code Online (Sandbox Code Playgroud)

在我的新代码中,我通过新方法获得了访问令牌:

    client_id: vm.clientId,
    scope: SCOPE,
    callback: (tokenResponse) => {
        if (tokenResponse && tokenResponse.access_token) {
            access_token = tokenResponse.access_token;

            // HERE??? HOW DO I GET THE PROFILE?

        }
    }
})
Run Code Online (Sandbox Code Playgroud)

(主要取自https://developers.google.com/identity/oauth2/web/guides/use-token-model

我在其他地方看到过这一点,但至少在我的情况下不起作用:

gapi.client.oauth2.userinfo.get().execute(function (resp) {
   console.log(resp);
})
Run Code Online (Sandbox Code Playgroud)

如何从 Google Identity Services 获取个人资料信息?

我已阅读迁移指南:“相反,请使用对新 JWT CredentialResponse 对象中的凭据子字段的直接引用来处理用户配置文件数据。” 但不知道如何获得此 Credentialresponse?(https://developers.google.com/identity/gsi/web/guides/migration#token_response


javascript google-api google-api-js-client google-cloud-platform google-signin

4
推荐指数
1
解决办法
1721
查看次数

google drive api v3 创建文件夹静默失败

通过完整范围的 OAuth 成功验证后:

https://www.googleapis.com/auth/drive` 
Run Code Online (Sandbox Code Playgroud)

我根据创建文件夹中的示例创建了一个文件夹

   var fileMetadata = {
        'name' : name,
        'mimeType' : 'application/vnd.google-apps.folder',
//        'parents': [ parent ]
    };
   gapi.client.drive.files.create({
       resource: fileMetadata,
       fields: 'id'
    }, function(err, file) {
      if(err) {
        // Handle error
        console.log(err);
      } else {
        console.log('Folder Id: ', file.id);
        return file.id;
      }
    });
Run Code Online (Sandbox Code Playgroud)

回调函数永远不会被调用,控制台中没有错误。

我怎样才能知道发生了什么?

javascript google-api google-drive-api google-api-js-client

3
推荐指数
1
解决办法
896
查看次数

如何将 Google Calendar API 与 React JS 集成?

我正在尝试在 react js 应用程序中实现谷歌日历 api 的这个vanilla js 示例。vanilla JS 示例在我的本地机器上运行良好。但是在反应中实现相同的功能时遇到了很多麻烦。请在下面检查我的代码:

class App extends React.Component{
  constructor(props) {
    super(props);
    var CLIENT_ID = '992549188018-3prg54pp18je3e3qhgcttgl11491c4dm.apps.googleusercontent.com';
    var DISCOVERY_DOCS = ["https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest"];
    var SCOPES = "https://www.googleapis.com/auth/calendar";
    this.state = {
      showAuthButton: false,
      showSignOutButton: false
    };
    this.initClient = this.initClient.bind(this);
    this.updateSigninStatus = this.updateSigninStatus.bind(this);
  }
  handleAuthClick(){
    gapi.auth2.getAuthInstance().signIn();
  }
  handleSignoutClick(){
    gapi.auth2.getAuthInstance().signOut();
  }
  handleClientLoad() {
    gapi.load('client:auth2', this.initClient);
  }
  initClient(DISCOVERY_DOCS, CLIENT_ID, SCOPES) {
    gapi.client.init({
      discoveryDocs: DISCOVERY_DOCS,
      clientId: CLIENT_ID,
      scope: SCOPES
    }).then(function () {
      console.log(window.gapi);
      // Listen for sign-in state changes.
      window.gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);

      // …
Run Code Online (Sandbox Code Playgroud)

javascript calendar google-calendar-api google-api-js-client reactjs

3
推荐指数
1
解决办法
2万
查看次数

Google Drive API V3 Javascript - 创建包含内容的文件

这个问题以前有人问过,但答案是使用 API V2。google 文档没有说明如何使用 javascript 客户端代码创建包含其内容的文件。我尝试使用 Node 下列出的代码,但是,它只创建文件,不插入任何内容。这是我的代码:

  let fileMetadata = {
    'name': name,
    parents: [parentId]
  };

  let media = {
    mimeType: 'text/plain',
    body: 'content inside file'
  };

  gapi.client.drive.files.create({
    resource: fileMetadata,
    media,
    fields: 'id'
  })
  .then(response => {
    console.log('response: ', response);
  })
  .catch(() => {
    console.log('something is wrong');
  });
Run Code Online (Sandbox Code Playgroud)

有人可以帮我将内容插入文件吗?

javascript file google-drive-api google-api-js-client

3
推荐指数
1
解决办法
2455
查看次数

如何使用 api 在 Youtube 上转录 (captions.download

我已经构建了一个能够阅读任何 Youtube 视频成绩单 (gapi.client.youtube.captions.download) 的 javascript 代码。auth 2.0 工作正常,我在本地网络服务器上运行我的应用程序一切正常,问题是当我运行请求时出现错误 403:cb=gapi.loaded_0:164 GET https://content.googleapis。 com/youtube/v3/captions/My_API_Key 403 我在 StackOverflow 中没有找到任何解决方案......知道吗?

这是我的js文件:

const CLIENT_ID = 'My_Client_ID';
const DISCOVERY_DOCS = ["https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest"];
const SCOPES = 'https://www.googleapis.com/auth/youtube.readonly';

const authorizeButton = document.getElementById('enter-button');
const signoutButton = document.getElementById('exit-button');
const content = document.getElementById('content');

// default youtube channel
const defaultChannel = 'googledevelopers';

// Load auth2 library
function handleClientLoad(){
    gapi.load('client:auth2', initClient);
}

// Init API client library and set up sing in listeners
function initClient(){
    gapi.client.init({
        discoveryDocs: DISCOVERY_DOCS,
        clientId: CLIENT_ID,
        scope: SCOPES
    }).then(() …
Run Code Online (Sandbox Code Playgroud)

javascript youtube google-api-js-client google-apis-explorer

3
推荐指数
1
解决办法
3431
查看次数

如何删除 Google OAuth2gapi 事件侦听器?

我真的很难理解如何删除谷歌gapi事件监听器。下面粗体是所讨论的完整功能。

window.gapi.auth2.getAuthInstance().isSignedIn.listen(onAuthChange);
Run Code Online (Sandbox Code Playgroud)

我想在 useEffect 挂钩中使用清理函数来删除事件侦听器,但执行此操作的实际代码...我认为与简单的 javascript“removeEventListener”不同?我在谷歌文档中找不到任何内容。我的问题是我需要知道其他页面上的身份验证状态何时发生变化,并且需要其他函数在事件触发时运行(身份验证状态更改) - 但由于原始版本不断运行,我最终得到了一堆不必要的函数调用。当您登录和退出时,情况会变得更糟......随着事件侦听器的累积。


import React, { useEffect, useContext, useState } from "react";
import history from "../history";
import { GeneralContext } from "../contexts/General";

const GoogleAuth = () => {
  const { state, setState } = useContext(GeneralContext);

  const onAuthChange = () => {
    const auth = window.gapi.auth2.getAuthInstance();
    setState({ authStatus: auth.isSignedIn.get() });

    if (auth.isSignedIn.get() === true) {
      const token = auth.currentUser.fe.qc.access_token;
      setState({ accessToken: token });
    }
  };

  // Check auth status on mount
  useEffect(() => {
    window.gapi.load("client:auth2", () …
Run Code Online (Sandbox Code Playgroud)

javascript oauth-2.0 google-api-js-client reactjs google-signin

3
推荐指数
1
解决办法
664
查看次数

如何使用新的 Google Identity JS 库来处理工作表?

gsiGoogle很久以前就引入了新的 Sign In JS 库( ),但 Google Sheets 文档仍然显示了使用gapi. 将gapi 与gsi 结合/替换的最佳方法是什么?我可以举个例子吗?

javascript google-sheets google-api-js-client google-identity

3
推荐指数
1
解决办法
5156
查看次数