问题标签 [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 投票
1 回答
4689 浏览

javascript - 用户登录并同意 Google OAuth2 后如何获取访问令牌和刷新令牌?

我想Gmail通过 Google API 导入用户的联系人。

我有以下内容:

  1. 用于Client secret and key获取授权的url。这是用户访问以允许我的应用程序许可的 url。

  2. 授权 url 重定向到 App 设置中指定的重定向 uri。

  3. 我在 url 中有一个查询参数code,我猜这是文档在此处所说的授权代码。

问题:

如果可能,我想交换此代码以获取access tokenrefresh token通过javascript。但我在javascript.

在我的服务器端,我这样做是为了获得authorized url

然后将用户重定向到auth_url. 现在,一旦用户允许请求的权限,他们就会使用查询参数重定向回我的站点code。我想使用javascriptfrom here 来获取access token.

另一种选择是access token一旦用户被重定向到我的网站并将其与响应一起返回给他,就在服务器端获取,但我真的不想这样做。

0 投票
3 回答
4122 浏览

javascript - 如何为 gapi 添加 onload 事件?

我正在使用 Google API (gapi) 进行用户登录。

我的代码如下。它异步加载 google sdk。加载后,我需要调用 api 函数gapi.auth.authorize

现在的问题是 - 我得到错误

类型错误:gapi.auth 未定义

应该定义吧?我看着控制台,输入gapi.auth了一个对象作为响应。

因此,我相信该js.onload事件会提前触发,即何时gapi.auth尚未准备好。

如何解决这个问题?或者更具体地说,如何为 gapi 添加 onload 事件?

0 投票
1 回答
18280 浏览

javascript - Javascript:无法分配给 false 的只读属性“_epoch”

我有一种方法来处理来自我的 google javascript 客户端(gapi)的响应:

几次我收到以下错误:

这个错误通常不会发生,所以我没有设法记录响应的实际样子。

错误是什么意思?我不应该为响应分配值吗?

0 投票
0 回答
446 浏览

javascript - 无法使用 gapi.auth.signOut 注销

我在我的网络应用程序(AngularJS)中集成了谷歌社交登录。我无法注销用户。以下是我稍微简化的方法 -

场景 1. 第一次用户 -

我有自己的按钮,单击该按钮会加载页面“X”。此页面将用户重定向到 Google 登录和/或应用权限批准页面。最后 X 将用户返回到我的站点。我收到了通过 Google 登录的信息,现在我必须通过 gapi 登录,以便稍后退出。

登录可以通过两种方式实现 -

  1. gapi.auth.authorize()immediate: true或_
  2. gapi.auth.signIn()'immediate': true

我都试过了。两者都不起作用。其次还有一个缺点,即浏览器显示弹出窗口已被阻止。

然后是一个退出按钮,它调用gapi.auth.signOut()并加载页面'Y'。页面 Y 返回到我的网站,触发场景 2(请阅读下文),加载登录页面 :(

场景 2. 返回用户,在同一个浏览器中。

使用下面的代码,首先我检查是否有 google access_token,所以我可以尝试通过 Google 登录。

googleLogin 加载另一个页面“Z”,该页面重定向回我的原始页面。Z 将 URL 中的参数传递给我,以便我知道我已通过 Google 登录。我回到场景 1。

问题是 - 如果用户已使用 注销gapi.auth.signOut,那么为什么gapi.auth.authorize(在场景 2 中)返回 access_token?在第二种情况下,我如何区分已登录用户和已注销用户?

我尝试在第二种情况下替换gapi.auth.authorize为。gapi.auth.signIn()但这会在我的索引页面加载后立即加载谷歌登录页面。所以我没有进一步探索。

请让我知道我哪里出错了以及如何解决这个问题。

0 投票
1 回答
706 浏览

javascript - 有什么方法可以同步执行 gapi.client.request 吗?

jQuery 允许同步发送 http 请求(async:false 设置),这在绕过 popup blocker时特别有用。

使用 Google 的 javascript 客户端库Gapi时有什么方法可以做到这一点?

0 投票
0 回答
595 浏览

javascript - 使用简易仪表板 javascript 库显示图表时出现 401 登录需要错误

我正在使用简单的仪表板 java 脚本库显示折线图。但它会引发错误 401 login required。我在 Google 开发人员控制台中创建了项目并为其生成了密钥。正如 401 错误代码所解释的那样,凭据是错误的。告诉我出了什么问题。任何帮助将不胜感激。在此先感谢这是此代码

0 投票
0 回答
110 浏览

google-api-js-client - 将 gapi.client.request 的路径从相对更改为绝对

我想使用刷新令牌来生成访问令牌。所以我正在制作一个 gapi.client.request,如下所示。我想将主机用作“accounts.google.com”(我的实际路径是“ https://accounts.google.com/o/oauth2/token ”),但请求是通过路径“content.googleapis.com/”发送的o/oauth2/令牌'。主要问题是 gapi 在路径参数中使用相对url,所以即使我将完整路径放在“路径”中,它也会以“content.googleapis.com”开头,然后是“ https://accounts.google.com ” /o/oauth2/token ' 这显然不是一个有效的 url。那么如何将路径设置为绝对路径而不是相对路径?

0 投票
0 回答
344 浏览

php - GAPI 谷歌分析 API PHP 获取事件

我想从我的谷歌分析帐户中获取事件。

这是我的 PHP 控制器的外观:

它给我一个空值。

Meaby $filter 错了?过滤器必须指的是什么?

我的事件类别名称是:链接 ,我在 google analytics->behavior->events->Altogether中检查它

0 投票
1 回答
677 浏览

php - GAPI:请求报告数据失败且未提供更多信息

我们正在使用PHP GAPI ([ https://code.google.com/p/gapi-google-analytics-php-interface/ ) 来检索数据并在我们网站的管理面板中显示图表。

我们知道这个库自 2009 年以来就没有更新过,但它在很长一段时间内对我们都很好,直到几个月前......

贝娄是我们得到的错误:

这是include.dashboard.analytics.visits.php的代码——第 35 到 39 行(第 37 行错误):

这是gapi.class.php的代码——第 212 到 219 行(第 218 行错误):

我们不完全理解这些不太清楚的错误,并且这些文件中没有任何变化......

正如我们在其他 StackOverflow 票证和其他论坛上看到的那样,我们已经检查了我们的个人资料 ID,这是一个很好的 ID(Google Analytics URL 中 p 后面的 8 位数字)。

我们不想转移到另一个用于 GA 的 PHP API(如果有其他可用的?到目前为止最好的解决方案是什么?),因为再次实现我们制作的管理面板需要做很多工作......

非常感谢您的帮助!

0 投票
1 回答
1031 浏览

oauth - google Oauth2.0 认证 - 不继续redirect_uri

我正在尝试使用谷歌登录到我的网站。用户可以在 3 个域中访问我的网站

1) 常规链接(HTTP 和 WWW...) 2) http://example.com - 没有 www 3) apps.facebook.com/example - facebook 应用

我们希望允许用户在这三个选项中连接谷歌。

我们正在使用 gapi(谷歌 javascript 库)来验证用户身份。我的代码如下所示:

如您所见,我将重定向 uri 设置为 gapi 配置的一部分。我们创建了一些弹出窗口,以便为三个域提供相同的 uri。

我的问题是,如果我在没有 WWW 的情况下从域登录到我的站点,则授权不起作用并且用户没有重定向到 redirect_uri 链接——这意味着,我们没有他的令牌。

如果我要删除 redirect_uri 中的 WWW(所以它看起来像https://example.com/oauth/),facebook 域无法正常工作......

太沮丧了..有人熟悉这种问题吗?任何想法?

我们在这上面花了太多时间......

谢谢Z