问题标签 [google-api-js-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1708 浏览

oauth-2.0 - 如何刷新 google plus 不记名令牌 (javascript)?

我在我的单页 (javascript) 应用程序中使用 google HTML 登录按钮从使用 Google 登录的用户那里获取授权对象。这在此处进行了详细说明:https ://developers.google.com/+/web/signin/add-button 。

我成功收到了一个令牌,如下所示。由于此令牌在 1 小时后到期,因此我需要每 30 分钟左右刷新一次令牌,直到用户选择注销。我正在尝试通过调用:

但没有运气。我收到相同的令牌,直到它过期,之后我取回空(未登录)令牌。如何在用户不必不断再次登录的情况下保留/刷新不记名令牌?

0 投票
1 回答
2624 浏览

javascript - google api redirect_uri_mismatch error

I am trying to get google plus authentication working for a web app, but continually get redirect_uri_mismatch errors. I have checked and re-checked that I have matching redirect urls in the code and in the google dev settings.

I have flagged the location that things are breaking at -> ** CRASHES HERE

Any help would be appreciated.

js binding

google+ component

POST /users

used code from https://github.com/google/google-api-nodejs-client/blob/master/examples/oauth2.js

0 投票
1 回答
144 浏览

javascript - BigQuery JS SDK 是否支持 CORS?

BigQuery 客户端 JavaScript SDK 中是否支持 CORS?具体来说,用户是否可以在我的应用程序内部发出请求以从 BigQuery 获取数据,而无需代理请求以避免 CORS?

0 投票
0 回答
346 浏览

javascript - gapi.auth.checkSession 是如何工作的?

我对gapi.auth.checkSession的工作方式有疑问。

我正在尝试检测用户是否已登录 Google。所以我正在运行这段代码:

在谷歌文档上,据说:

如果参数为真,则提供的 session_state 仍然有效

但出乎意料的是,true如果用户没有登录 Google,我的支票就会返回,false如果他登录了。我多次清除缓存和 cookie,请朋友尝试,他得到了相同的结果。这是正常行为吗?true如果用户登录它不应该返回吗?

另外,我不明白为什么client_id需要参数?结果是否取决于提供的 client_id ?

谢谢您的帮助 !

0 投票
1 回答
1429 浏览

javascript - 用户已注销时,Google signInCallback 调用了两次

我正在使用 Google 登录混合流程对用户进行身份验证,但我有一个奇怪的错误:当用户退出 ( authResult['error'] == 'user_signed_out') 时,signInCallback会调用两次!用户登录时不会发生这种情况,因此我认为它与(相当烦人的)“欢迎回来[用户]”提示无关。

我的代码如下所示:

这是我在控制台上得到的: 查看更大的版本控制台日志

我正在使用的 HTML 代码:

我在两个不同的浏览器上使用两个不同的 Google 帐户。我最初认为是因为这个(Google 将 google_account_id 和用户状态存储在 cookie 中,例如G_USERSTATE_H3 : 'google_account_id#1=0&google_account_id#2=1')。但是我清除了两个浏览器上的所有 cookie,并且只打开了一个浏览器和一个谷歌帐户来运行我的测试。我仍然得到这个错误。

这是一个非常烦人的错误。另外,谷歌浏览器处理得很好,但是火狐完全被吓坏了,执行了3次回调,然后,用户无法登录(他登录了1s,然后立即重新退出)。

有人可以帮我吗?

更新:这是包含 Google JS Api 的方式:

0 投票
3 回答
21989 浏览

google-api - 使用 Google API JS 客户端时如何获取刷新令牌

我一直在尝试实现一个需要用户授予对 Google Analytics 访问权限的应用程序。我一直在关注本教程:

https://developers.google.com/analytics/solutions/articles/hello-analytics-api

在其他一些地方,AngularJs 的代码使用了相同的函数L

https://gist.github.com/jakemmarsh/5809963

我的问题是,身份验证工作得很好,但它没有返回 refresh_token。它从不返回 refresh_token。我已经尝试了网络上所有可能的方法。1.第一次,2.使用prompt=force等。但似乎没有返回refresh_token。我猜那部分被客户跳过了。

我需要知道当用户第一次授予访问权限时如何获取 refresh_token 以便我可以保存它。

0 投票
2 回答
1394 浏览

javascript - 在沙盒 iframe 环境中使用 google javascript api

我有一个使用google javascript API的 HTML5 应用程序。我最近发现这个应用程序需要在 iframe 沙盒环境中运行。我知道这看起来像是试图解决沙盒环境的目标。但是 iframe 仍然允许使用某些功能(请参阅下面的约束),这让我认为有一些希望。

我在身份验证过程中遇到了问题:加载时,google javascript api 在原始页面上附加了一个 iFrame(在我的情况下这已经是一个 iframe),并使用 postMessage 机制在窗口之间进行通信。我想将 google api 用于 OAuth2.0 身份验证过程以及查询 API。

这是一个复制案例;我正在使用 google 提供的authSample.html页面的简化版本。

最终用户将使用的包含页面如下所示:

显然,在用服务器 authSample.html url 替换 iframe 的实际 src 后,您必须执行此页面。

如果你在不同的浏览器上运行它,你会注意到失败的不同行为。我试图利用允许弹出窗口的事实,但似乎浏览器实现了不同的事实,即打开的窗口也应该在沙盒环境中打开。

我想避免为身份验证编写自己的 Web 服务。此外,我相信用户使用通常的谷歌网页(带有 url accounts.google.com)输入他们的凭据会更安全。如果您有一个想法,可能适用于最近的浏览器,请随时提交。

谢谢

0 投票
3 回答
4418 浏览

date - Google Calendar API 查询全天事件

我有一个应用程序,它使用日历 v3 API 在 Google 日历上创建、查询和修改全天事件。当我创建这些事件时,它们看起来像这样:

因此,如果我想查询 7 月 20 日至 7 月 26 日之间的所有此类事件,我会发送如下查询:

在更易读的格式中,参数是:

但是,这排除了所有带有 date 的事件2014-07-26,它只获取 20 日到 25 日的事件。在我的参数中你可以看到我使用setUTCHours(0)了为了没有时区信息。

如果我删除对和参数的调用,setUTCHours(0)那么timeMintimeMax会遇到相反的问题,我从 7 月 21 日到 7 月 26 日,错过了 7 月 20 日的事件。如何在任何时区可靠地获取一周的所有全天事件?

0 投票
0 回答
88 浏览

javascript - 使用来自 gapi 的 access_token 和旧的谷歌数据 js 库

我有使用新的 gapi javascript 库的现有代码。从那里,我可以使用 gapi.auth.getToken() 获取访问令牌。使用较旧的 Google Data JS 库进行调用时是否可以使用该访问令牌?

具体来说,我需要使用较旧的 Google Data JS 库(新的 gapi 库不支持 Contacts API)访问用户的 Google 联系人列表。

0 投票
2 回答
149 浏览

javascript - 在 Meteor 中,如何仅在用户使用特定外部服务登录时加载 javascript?

我真正需要的是在用户使用谷歌服务登录时为 javascript 加载谷歌 apis 客户端库。如果用户使用密码或其他外部服务登录,则不会加载库。

这有可能吗?

谢谢。