首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用google one tap javascript API时如何定义变量google

使用google one tap javascript API时如何定义变量google
EN

Stack Overflow用户
提问于 2020-12-10 20:49:45
回答 1查看 1.1K关注 0票数 3

我正在遵循这个文档google one tap sign in在我的react应用程序中实现谷歌一键登录。

我已经在我的组件JSX中添加了以下代码,并且我开始让google提示登录:

代码语言:javascript
复制
  const handleCredentialResponse = response => {
    console.log('response', response);
  };

return (
    <Fragment>
      <div
        id="g_id_onload"
        data-auto_select = 'false'
        data-client_id={clientId}
        data-callback={(e) => handleCredentialResponse(e)}>
      </div>
    </Fragment>
  );

我面临的问题是回调函数没有触发。在寻找解决方案后,我偶然发现了这个SO question。在OP提出了类似的问题,并使用javascript API语法显示google一键而不是HTML代码来遵循上述问题时,我阅读了这个文档Use the One Tap JavaScript API。但是我不能理解google这个变量是从哪里来的?

示例代码:

代码语言:javascript
复制
window.onload = function () {
    google.accounts.id.initialize({
      client_id: 'YOUR_GOOGLE_CLIENT_ID',
      callback: handleCredentialResponse
    });
    google.accounts.id.prompt();
  }

如果有人能告诉我这可能会解决我的回调函数不触发的问题。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-31 21:21:01

在Nilesh Patel发表的评论和这个react-google-one-tap-login包的帮助下,我找到了一个解决方案。

检查上面的包中的源代码,我设法发现我必须

替换:

代码语言:javascript
复制
 google.accounts.id.initialize({
    client_id: CLIENT_ID,
    callback: data => handleCredentialResponse(data),
    state_cookie_domain: 'https://example.com',
  });

使用

代码语言:javascript
复制
 window.google.accounts.id.initialize({
    client_id: CLIENT_ID,
    callback: data => handleCredentialResponse(data),
    state_cookie_domain: 'https://example.com',
  });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65234862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档