JavaScript 中的谷歌 API

2024-01-27

我正在尝试使用 javascript 从 google 获取日历信息。我读过“如何做”手册。他们没有帮助。即使这个“有用的”复制粘贴代码(授权)也没有。有人能教我如何使用 google api 吗?也许有人有一些样本可以分享

还有这个漂亮的 js 代码:

<html>
<button id="authorize-button" onclick='handleAuthClick()'>Authorize</button>

<script type="text/javascript">
    var clientId = '***';
    var apiKey = '***';
    var scopes = 'https://www.googleapis.com/auth/plus.me';

    function handleClientLoad() {
        gapi.client.setApiKey(apiKey);
        window.setTimeout(checkAuth,1);
    }

    function checkAuth() {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
    }

    function handleAuthResult(authResult) {
        var authorizeButton = document.getElementById('authorize-button');
        if (authResult && !authResult.error) {
            authorizeButton.style.visibility = 'hidden';
            makeApiCall();
        } else {
            authorizeButton.style.visibility = '';
            authorizeButton.onclick = handleAuthClick;
        }
    }

    function handleAuthClick(event) {
        // Step 3: get authorization to use private data
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
        return false;
    }

    // Load the API and make an API call.  Display the results on the screen.
    function makeApiCall() {
        // Step 4: Load the Google+ API
        gapi.client.load('plus', 'v1', function() {
            // Step 5: Assemble the API request
            var request = gapi.client.plus.people.get({
            'userId': 'me'
            });
            // Step 6: Execute the API request
            request.execute(function(resp) {
            var heading = document.createElement('h4');
            var image = document.createElement('img');
            image.src = resp.image.url;
            heading.appendChild(image);
            heading.appendChild(document.createTextNode(resp.displayName));

            document.getElementById('content').appendChild(heading);
            });
        });
    }
</script>

错误消息(来自控制台):

 'Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('file://') does not match the recipient window's origin ('null').'

所以我陷入了“gapi.auth.authorize”。之后没有任何效果


根据您收到的错误,我的猜测是您没有在 Javascript Origin 上正确配置谷歌API控制台 https://cloud.google.com/console/您从中获取了客户端 ID,和/或您尝试从文件系统而不是通过 Web 服务器运行脚本,即使运行在localhost。据我所知,Google API 客户端不接受来自文件系统或任何未配置为根据提供的客户端 ID 请求授权的域的授权请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 中的谷歌 API 的相关文章

  • 为什么 `obj.foo = function() { };` 没有将名称 `foo` 分配给函数?

    从 ES2015 ES6 开始 函数有了专有名称 包括官方名称 name属性 而函数创建时的赋值除了明显的函数声明和命名函数表达式之外还有多种方式 比如给变量赋值 函数的名字设置为变量的名字 给对象属性赋值 函数的名称设置为属性的名称 甚至
  • 对自定义打字稿错误实例实施instanceof检查?

    打字稿有这个instanceof 检查自定义错误 https github com Microsoft TypeScript issues 13965问题 但尚不清楚我们需要做什么才能得到instanceof在职的 例如对于这个异常我们如何
  • 茉莉花节点没有输出

    我是 JavaScript Node js 和 jasmine 的新手 我正在尝试运行 Node Craftsman Book 一书中的测试 FilesizeWatcher 我创建了 package json 文件并运行 npm insta
  • 如何制作像Stackoverflow一样的可折叠评论框

    我正在构建一个网站 并且有一个状态更新列表 我希望允许用户为列表中的每个项目撰写评论 但是我正在尝试实现一个类似于堆栈溢出工作方式的用户界面 特别是可折叠的评论表单 列表 用户在其中单击对列表中的特定状态更新添加评论 并且在列表中的该项目下
  • 从 DOM 中删除后,动态添加的 JavaScript 脚本会继续执行

    因此 我正在创建一个 SPA 并使用 AJAX 将 HTML 页面加载到我网站的索引页面中 问题是 当包含我的一个页面时 它似乎会徘 徊并执行其中的 JavaScript 代码 即使它随后从 DOM 中删除 索引 html 正文 div d
  • 区分单击与 mousedown/mouseup

    我已经阅读了有关这种情况的 stackoverflow 上的几个答案 但没有一个解决方案有效 我尝试根据用户是否单击某个元素或使用 jQuery 将鼠标按住该元素来执行不同的操作 有可能做到这一点吗 onMouseDown 将在按下左侧或右
  • Chrome 扩展程序中的后台脚本到底何时运行?

    在我的 chrome 扩展中 我有一个后台脚本 它将使用XMLHttpRequest note that this code is in the global scope i e outside of any function also n
  • 使用 easyXDM 调整 IFrame 大小

    我将 iFrame 代码提供给客户 以便他们可以显示我网站上的动态内容 我希望其页面上的 iFrame 能够调整大小以适合我的内容 我按照 easyXDM 网站的说明进行操作 但也许我遗漏了一些东西 我没有收到任何错误 但 iFrame 保
  • JointJS - 处理链接删除点击

    创建链接后 将鼠标悬停在其上会显示红色 X 以将其删除 单击此按钮将触发一系列事件 通过订阅 全部 活动收集 单元格 向下指针 链接 向下指针 cell pointermove x5 似乎可疑 单元格 指针向上 在浏览了文档并花费了太长时间
  • 获取两个日期之间的日历事件

    如何获取两个特定日期之间的所有事件 例如我只想获取之间的事件1st of March 2013 28th of March 2013 我正在使用 Google 日历 API v3 在 Google Calendar API v1 中 可以使
  • Angular-Datatables + Angular-xeditable:取消可编辑行

    当组合 Angular DataTables 和 Angular XEditable 时 添加新行时会取消可编辑行 这是jsfiddle https jsfiddle net faj61h5d 10 示例操作如下 1 这是初始状态 2 将第
  • 使用 ES6 模块导出/导入单个类方法?

    假设我有一个像这样的简单课程fileA js class foo constructor x this name x fooMethod x return x hello 我想导入并使用fooMethod in fileB js像这样 im
  • 有没有办法在 TypeScript 2+ 中全局添加类型定义?

    我有一堆简单的 ts files 不是项目 即独立的 ts 脚本 他们使用一些 Node js 功能 TypeScript 和节点类型定义通过安装 npm install g typescript npm install g types n
  • Relay 中的嵌套片段数据始终相同

    我是 Relay 新手 并且遇到了片段上嵌套数据的问题 当我在 graphiql 中进行测试时 以下查询返回正确的数据 因此我确信我的架构是正确的 viewer customers name billing address city 但是
  • 正则表达式 - 避免表达式中出现字符串

    我正在尝试创建一个应该匹配以下情况的正则表达式 如果单词完全匹配 first second third 那么匹配应该失败 但如果它周围有任何字符 那么应该匹配该字符串 我还需要避免字符串中的某些字符集 如果这些字符是字符串的一部分 则匹配结
  • Rxjs 可观察等待直到满足某些条件

    我有以下重试逻辑来重试操作 对于单个请求来说它工作得很好 对于多个正在进行的请求 我想在重试之前等待现有的重试逻辑完成 handleError errors Observable
  • Jade(当前称为“Pug”)模板引擎中的循环

    我想使用一个简单的循环 例如for int i 0 i lt 10 i 如何在 Jade 引擎中使用它 我正在使用 Node js 并使用expressjs 框架 例如 for var i 0 i lt 10 i li array i 你可
  • 在 中动态添加链接样式表 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何将链接
  • nvd3.js - 无法更改折线图中线条的颜色

    我正在尝试更改 nvd3 折线图不同线条的颜色here http nvd3 org livecode index html codemirrorNav但我无法理解该怎么做 我想将示例中的 2 条线的颜色更改为绿色和青色 我试过 nv add
  • 如何仅在第一次访问时弹出模态窗口

    我有一个模式窗口 当您访问某个页面时会弹出 访客必须选择我同意或我不同意 我需要一个漂亮的小 jquery 脚本 它会记住谁之前访问过该页面并同意 这样他们每次访问该页面时就不会弹出模式 有人可以推荐一个好的脚本来使用吗 这是代码 div

随机推荐

  • 如何检查php-fpm是否安装并正确运行?

    如标题 如何检查 php fpm 状态 正在运行吗 有多少请求服务 谢谢 Is ps ef grep php fpm第一部分的答案太简单了 您还可以使用可通过以下命令启用的 ping 功能ping path配置指令 http www php
  • JavaScript 文件加载顺序和依赖关系管理

    只是想知道这个 我有几个单独的 javascript 文件 它们都包含基于模块模式的代码 一些模块具有其他一些模块作为依赖项 如果我知道在加载页面之前不会在 HTML 上调用任何代码 那么文件加载的顺序仍然重要吗 模块代码位于立即函数内的事
  • popen 中整个字符串命令和字符串列表之间的区别

    我发现大多数程序员建议使用字符串列表来表示 popen 中的命令 然而 在我自己的项目中 我发现整个字符串在更多情况下都有效 例如下面的作品 subprocess Popen pgrep f run stdout subprocess PI
  • C ++生成(xyz)范围内的点

    有没有比这更好的方法来生成这样的点列表 就图书馆而言 我对任何基于特征的方法持开放态度 auto it voxels begin for auto i 180 i lt 90 i for auto j 80 j lt 70 j for au
  • 正确使用$@

    我正在尝试编写一个小脚本 它接受任意数量的命令行参数 打印出rwx文件 不是目录 的权限 我拥有的是 file if f file then ls l file fi 然而 这仅接受一个命令行参数 谢谢你的帮助 这是之间的一些差异的演示 a
  • 如何在Pubnub中的ngHistory中实现回调?

    当尝试检索历史消息时on事件 加载时间太长 微调器显示和隐藏速度太快 但该消息尚未加载 我们如何计算或获取加载历史记录的准确时间 scope limit 100 PubNub ngHistory channel scope channel
  • 设置开发服务器

    开发 PHP 应用程序时 最好有一个用于开发 测试的服务器 然后是一个实时服务器 一旦准备好就可以放置所有内容 好吧 但是怎么办呢 如果您通过托管公司进行托管 如何设置自己的开发服务器来测试模仿所有 LAMP 设置作为实时服务器 因为如果它
  • 如何对 GUI 进行单元测试?

    我的代码中的计算经过了充分测试 但由于 GUI 代码太多 我的整体代码覆盖率低于我的预期 有关于单元测试 GUI 代码的指南吗 这还有道理吗 例如 我的应用程序中有图表 我一直无法弄清楚如何自动测试图表 AFAIK 需要人眼来检查图表是否正
  • Corda 在终端中查看消耗状态

    有没有一种简单的方法可以使用 CordaRPCOps 界面查看终端中的消耗状态 似乎VaultQuery默认返回未使用的状态 我不知道如何使用vaultQueryBy或任何符合条件的东西 我知道应该有消耗状态 因为我可以用 H2 看到它们
  • 为什么我的 datumTokenizer 从未被调用?

    我在 datumTokenizer 函数中放置了一个断点 但它似乎从未被调用 为什么不 它适用于仅远程数据吗 var engine new Bloodhound datumTokenizer function d return Bloodh
  • es6箭头函数调试器语句

    如果我有这样的功能 param gt params 1 我需要放一个debugger函数体内的语句 添加括号是这样的 param gt debugger return params 1 唯一的选择 来自MDN https developer
  • 内联安装 Chrome 扩展程序时出现“未捕获无效的 Chrome Web Store 项目 URL”

    我创建了一个 Chrome 扩展程序 并将其发布到 Chrome Webstore 上的测试人员组 当我尝试从我的网站加载 添加 扩展程序时 出现错误 未捕获无效的 Chrome 应用商店项目 URL 论方法Installer protot
  • Android 中的 CTL(复杂文本语言)支持

    我正在尝试为亚洲语言开发 Android IME 需要复杂的渲染 例如更改字形形式 重新排序字符顺序等 在PC中 使用GTK Pango Graphite就足够了 在 Android 中 如何解决复杂文本语言的 Unicode 渲染问题 提
  • ARKit:再现Project Point功能

    我正在尝试重现 ARCamera 的项目点函数 但由于某种原因 这些值没有正确匹配 我采用 ARCamera 的投影矩阵和视图矩阵 并应用基本的 CG 透视变换数学 PV p 但 NDC 值与 ARCamera 的项目点函数给出的像素值不匹
  • 如何从 SSMS 获取完整结果集

    如何获取 SQL Server Management Studio 中行的完整内容 如果您使用 结果网格 数据将被编码 因此换行符之类的内容会丢失 如果您执行 结果到文件 或 结果到文本 则文本限制为 8192 个字符 注意 我有解决方案
  • 设置为联系人铃声?安卓

    我正在尝试学习如何添加设置为联系人铃声功能 我已经知道如何设置默认铃声 但我不知道如何设置为联系人铃声 我到达了选择联系人的部分 但我不知道如何为该联系人分配铃声 这部分困扰着我 我似乎无法在已经提出的有关该主题的问题中找到答案 到目前为止
  • 执行 ajax 调用时序列化某个类型的对象时检测到循环引用

    在我看来 我使用的是 Viewmodel 并且我有一个表单 该表单只有一个接受日期的文本框 不是视图模型的一部分 和 3 个表 默认情况下 在页面加载时 表格中填充了基于今天日期的数据 您可以在下面的控制器代码中看到 但是如果用户选择日期并
  • 如何让机器在执行期间停止睡眠/休眠

    我有一个用 golang 编写的应用程序 部分 作为其操作的一部分 它将生成一个外部进程 用 c 编写 并开始监视 这个外部过程可能需要几个小时才能完成 因此我正在寻找一种方法来防止机器在处理时休眠或休眠 我希望能够放弃这个锁 以便当进程完
  • 有没有适用于 Windows 的开源 C 可视化调试器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有适用于 Windows 的开源 C 可视化调试器 我听说过 Visual C Express 免费
  • JavaScript 中的谷歌 API

    我正在尝试使用 javascript 从 google 获取日历信息 我读过 如何做 手册 他们没有帮助 即使这个 有用的 复制粘贴代码 授权 也没有 有人能教我如何使用 google api 吗 也许有人有一些样本可以分享 还有这个漂亮的