首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用OAuth 2.0访问谷歌API

使用OAuth 2.0访问谷歌API 谷歌API使用OAuth 2.0协议进行身份验证和授权。谷歌支持常见OAuth 2.0场景,那些Web服务器,安装,和客户端应用程序。...访问 谷歌API控制台 获取OAuth 2.0凭据已知谷歌和你应用程序客户端ID和客户端密钥。设定值变化基于你正在建设什么类型应用程序。...方案 Web服务器应用程序 该谷歌OAuth 2.0端点支持Web服务器应用程序使用语言和框架,PHP,Java和Python和Ruby,和ASP.NET。...客户端(JavaScript)应用 该谷歌OAuth 2.0端点支持,在浏览器运行JavaScript应用程序。...用户启动浏览器,导航到指定URL,在日志,并进入码。 同时,应用调查谷歌网址在指定时间间隔。用户批准访问后,从谷歌服务器响应包含访问令牌和刷新令牌。

4.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

使用 MediaStream Recording API 和 Web Audio API浏览器处理音频(未完待续)

使用 MediaStream Recording API 和 Web Audio API浏览器处理音频 1....背景 最近项目上有个需求,需要实现:录音、回放录音、实现音频可视化效果、上传wav格式录音等功能。于是乎,我就顺便调研了下如何在浏览器处理音频,发现 HTML5 中有专门API用来处理音频。...核心概念 2.1 MediaStream 一个MediaStream是一个媒体内容流。一个流可能包含几个轨道:比如若干视频轨道和若干音频轨道。...2.4 AudioContext 使用Web Audio API相关接口前,你必需创建一个AudioContext。一切操作都在这个环境里进行。...如何录音 首先,我们可以使用getUserMedia向浏览器申请权限: navigator.mediaDevices.getUserMedia({ audio: true }).then((stream

36620

Node 核心API使用

脚本模式,正式项目中使用方式; 把要执行所有语句编写一个文本文件,一次性提交给node解释器执行,在脚本模式下,声明全局变量不是global成员,避免了全局对象污染。...Node.js特有概念-模块 Modal:模态框    Model:模型   Module:模块 一个Web项目功能可以分为很多不同“模块”,商品管理模块、用户管理模块、支付模块、促销模块、商家管理模块...Node.js每个模块都是一个独立构造函数,解释器会为每个.js文件添加如下代码: 每个模块都可以使用自己require()函数引入另一个模块,底层本质就是创建了指定模块一个对象实例。...使用带中文字符串按utf8格式转为缓冲区(utf8一个中文3字节); var buf4=new Buffer(“AB一二”,“utf8”); // <Buffer 41 42 d2 bb ef...该模块可用于编写基于HTTP协议客户端程序(即浏览器);也可以编写基于HTTP协议服务器端程序(即Web服务器) htttp常用类: 1. http.ClientRequest  常用两个函数

1.9K20

内置于浏览器国际化API

浏览器将所有上述功能保留在 Intl 全局对象,以避免发生命名冲突。...Luxon 是一个有趣选择。这个项目是由 Moment.js 维护者之一发起,他们希望提供一些不同 API,但不想在 Moment.js 破坏任何东西。...通过从头编写新库,他能够改变一些重要事情。最重要是 Luxon 使用了国际化 API。多亏了这一点,它不必像Moment 那样发布国际化文件。 我们还需要考虑浏览器支持。...Sine Luxon 专注于使用原生 API,但并非每个浏览器都能完整支持。如果你对此担心的话,也可以考虑使用 polyfill。...并非所有浏览器都支持上述功能,记得在使用钱先进行检查,在必要时可以使用polyfills【https://www.npmjs.com/package/intl】。

1.4K20

如何为非常不确定行为(并发)设计安全 API使用这些 API 时如何确保安全

.NET 中提供了一些线程安全类型, ConcurrentDictionary,它们 API 设计与常规设计差异很大。如果你对此觉得奇怪,那么正好阅读本文。...---- 不确定性 像并发集合一样, ConcurrentDictionary、ConcurrentQueue,其设计为线程安全,于是它每一个对外公开方法调用都不会导致其内部状态错误...对于并发,如果有多次查看或者修改状态,必须加锁 比如以下方法,是试图一个接一个地依次执行 _queue 所有任务。...1 个方法组合在一起才能使用 API,这会让调用方获取不一致状态。...对于多线程并发导致不确定性,使用方虽然可以通过 lock 来规避以上第二条问题,但设计方最好在设计之初就避免问题,以便让 API 更好使用

14920

使用浏览器 Reporting API 上报站点错误

例如 CSP违规, Feature Policy 违规,使用了废弃API浏览器崩溃和网络错误等是可以使用 Reporting API 收集一些信息。...简介 有些错误你可能在开发时候永远都看不到,但是生产环境可能出现,因为不同用户、不同使用环境、不同浏览器都有可能出现意想不到问题。...浏览器捕获,排队和批处理,然后在最合适时间自动发送报告。报告是由浏览器在内部发送,因此使用 Reporting API 时几乎没有性能问题(例如与应用程序发生网络争用)。...它使用 NEL HTTP 响应头来设置,告诉浏览器收集网络错误,然后与 Reporting API 集成,将错误报告给服务器。...总结 Reporting API 无疑是做端监控同学福音,它省去了我们很多需要在前端监控需要自己做工作,未来浏览器还会将更多上报类型应用到 Reporting API ,未来将会作为诊断网站问题重点工具

2.3K30

何在React或Vue中使用Angular Rxjs API服务

在 Angular ,服务是在彼此不认识类之间共享信息好方法。通过使用服务,你将能够: 从应用程序任何组件获取数据 使用Rxjs操作符和其他操作符….....将其用作状态管理(使用 subjects) 并且有一个干净漂亮代码 RxJS可以用于任何框架或纯javascript。这意味着下面的代码可以工作在Vue.js或 React。...RxJS是一个库,通过使用可观察序列来组合异步和基于事件程序。 RxJS提供了大量数学、转换、过滤、实用、条件、错误处理、连接类别的操作符,在响应式编程中使用这些操作符时,生活会变得很简单。...开始 安装 $ npm install axios rxjs axios-observable 创建一个包含所有API服务文件夹,通常我将其命名为services 我还在src/ services创建了它...subject,而且这比在每个组件创建一个类对象要好。

1.7K10

【专业技术】 浏览器Webkit2API介绍

WebKit2提供稳定非阻塞式基于CAPI,多数API对平台独立(agnostic)。...为了获得非阻塞能力,Webkit2使用了一些技术,正式这些技术使用,使得Webkit能给它使用者带来大量功能,这些技术包括: 通知式客户回调,例如didFinishLoadForFrame。...这些类型API通知使用者:发生了某件事,然而并不给他们机会去处理它。 策略式客户回调,例如decidePolicyForNavigationAction。...这些类型API允许使用者有空时才对某个动作做处理,同时通过监听器对象把发生了某个动作这件事告知页面。...这些类型API允许使用者选择预先定义策略,不需要回调函数对UIProcess参与。这些类型API可能是一套枚举类型特殊策略,或者是带通配符字符串列表等。

73160

【译】如何在 Node.js 创建安全 GraphQL API

原文地址:How to Create a Secure Node.js GraphQL API 作者:Marcos 本文目的是提供一份快速指南 -- 《如何快速在如何在 Node.js 创建安全...实际上,在这些场景,你都会发现有些 API 你并不需要详细了解它。比如,你不需要知道他们是如何构建,也不需要在自己系统中使用和它们一样技术。...所以当两者通过 API 形式来进行通信时,其他项目也可以使用同样方式来工作。 如果你在一个大团队工作,可以将它拆分成前端和后端两个团队,这样他们就可以使用相同技术栈来工作从而提高效率。...; 创建模块 (Module) 基本方法; 测试我们 GraphQL API; 为了将内容侧重于开发使用,本文忽略了开发中一些重要内容,简单总结如下: 新增内容时需要校验 对服务错误进行正确处理...请随意使用、fork、提 issue 和 PR。请注意,本文中所提到所有标准和建议都不会是一成不变。 这只是许多构建 GraphQL API 方法一种。

2.5K20

何在Windows系统上使用Object Detection API训练自己数据?

前言 之前写了一篇如何在windows系统上安装Tensorflow Object Detection API? 然后就想着把数据集换成自己数据集进行训练得到自己目标检测模型。...于是就自己来撸一篇教程,方便自己也给别人一些参考吧~ 目录 基于自己数据集进行目标检测训练整体步骤如下: 数据标注,制作VOC格式数据集 将数据集制作成tfrecord格式 下载预使用目标检测模型...数据标注,制作VOC格式数据集 数据集当然是第一步,在收集好数据后需要进行数据标注,考虑到VOC风格,这里推荐使用LabelImg工具进行标注。 ?..._coco faster_rcnn_resnet50_coco faster_rcnn_resnet101_coco 小詹选择是上方链接对应下图那个,自己视情况而定即可。...训练模型只需要运行object_detection/legacy路径下train.py程序即可。(当然object_detection API安装是大前提,具体看上一篇文章!)

1.5K40

浏览器存储访问令牌最佳实践

应用程序可以使用专用API(Web存储API或IndexedDB)来存储令牌。应用程序也可以简单地将令牌保存在内存或将其放在cookie。...因此,在使用localStorage时,请考虑终端安全性。考虑并防止浏览器之外攻击向量,恶意软件、被盗设备或磁盘。 根据上述讨论,请遵循以下建议: 不要在本地存储存储敏感数据,令牌。...下面的摘录显示了如何在JavaScript中使用内存处理令牌示例。...在使用JavaScript闭包或服务工作者处理令牌和API请求时,XSS攻击可能会针对OAuth流程,回调流或静默流来获取令牌。...然后令牌用于安全访问API。 总结 使用OAuth和访问令牌可以最好地保护API访问。但是,JavaScript应用程序处于不利地位。浏览器没有安全令牌存储解决方案。

15210

何在浏览器和nodejs中使用原生接口获得相同hash?

其实,浏览器端早就提供了 Web Crypto API,我们就可以利用浏览器原生接口来实现摘要hash啦,这样无论是在性能上,还是安全性上,都是最优解。...从caniuse反应兼容性看,大部分浏览器都已经支持了,只要不使用低版本浏览器,都是可以放心使用。当然,如果一定要支持,可以使用第三方库兜底。 让我们来认识一下 Web Crypto API。...Web Crypto API Web Crypto API 是一组以构建密码学系统为目标的让脚本可以使用原生加密算法接口。...如果我们设计一套密码学系统,那么这里不仅需要使用密钥、签名、导出、加密等等,还要在这些基础API使用之上,设计一套前后端对齐加密协议,否则不可能做到真正安全加密验证。...市面上比较多情况下,会习惯使用md5摘要,但是Web Crypto API没有提供直接md5摘要算法,因此,我们只能从众多SHA算法挑一个。

24520

何在CentOS 7上使用Nginx头模块实现浏览器缓存

在本教程,我们将了解如何使用Nginx头模块来实现浏览器缓存。 准备 要学习本教程,您需要: 一台已经设置好可以使用sudo命令非root账号CentOS服务器,并且已开启防火墙。...第1步 - 创建测试文件 在此步骤,我们将在默认Nginx目录创建多个测试文件。稍后我们将使用这些文件来检查Nginx默认行为,然后测试浏览器缓存是否正常工作。...第2步 - 检查默认行为 默认情况下,所有文件都具有相同默认缓存行为。为了探索这一点,我们将使用我们在步骤1创建HTML文件,但您可以使用任何示例文件运行这些测试。...在下一步,我们将使用headers模块附加缓存控制信息。这将使浏览器在本地缓存一些文件,而无需明确询问服务器是否可以这样做。...最后一项设置是~image/,这是一个正则表达式会匹配所有在他们MIME类型名称包含image/文件类型(image/jpg和image/png)。

1.4K00

何在Ubuntu 16.04上使用Nginx头模块实现浏览器缓存

在本教程,我们将了解如何使用Nginx头模块来实现浏览器缓存。 准备 要学习本教程,您需要: 一台已经设置好可以使用sudo权限非root账号Ubuntu 16.04服务器,并且已开启防火墙。...第1步 - 创建测试文件 在此步骤,我们将在默认Nginx目录创建多个测试文件。稍后我们将使用这些文件来检查Nginx默认行为,然后测试浏览器缓存是否正常工作。...第2步 - 检查默认行为 默认情况下,所有文件都具有相同默认缓存行为。为了探索这一点,我们将使用我们在步骤1创建HTML文件,但您可以使用任何示例文件运行这些测试。...在下一步,我们将使用headers模块附加缓存控制信息。这将使浏览器在本地缓存一些文件,而无需明确询问服务器是否可以这样做。...头模块是核心Nginx模块,这意味着它不需要单独安装即可使用。 要添加标题模块,请用您喜欢文本编辑器打开在nano默认Nginx配置文件。

1.4K30

unittest中使用ddt后生成测试报告名称如何修改?(test_api_0修改成test_api_0_titile)

修改前:Unittest使用ddt后生成测试报告用例名称为:图片即就是,以“testxx数字”为格式用例名称,感觉满足不了我们测试需求,不够直观。那么怎么修改呢?...=\d)', '_', test_name) 从方法mk_test_name,我们看到该方法描述是“Generate a new name for a test case.”...,即就是为测试用例创建一个名称,那么改这个方法就行了方法返回是name和index,即"{0}_{1}".format(name, index)那么就明白了,我们改返回内容就行了修改后def mk_test_name...,增加value字典判断 return "{0}_{1}_{2}".format(name, index, value.name) # 修改地方,增加返回值 if type(value...,name和function必须是execl用例整正存在表头,这里我是把两个表头合并了(name是我表格接口名称,function是表格接口功能描述) except: # 增加地方

53440
领券