Google官方支持的NodeJS访问API,提供后台登录授权


Posted in NodeJs onJuly 29, 2014

安装

此库通过npm发布。通过以下命令安装googleapis及其依赖

$ npm install googleapis

完整的API支持列表 https://developers.google.com/apis-explorer

使用

例1: 通过Google短地址获取完整地址

var google = require('googleapis');
 var urlshortener = google.urlshortener('v1');
 var params = { shortUrl: 'http://goo.gl/xKbRu3' };
 // get the long url of a shortened url
 urlshortener.url.get(params, function (err, response) {
  console.log('Long url is', response.longUrl);
 });

例2: 登录授权

此示例集成OAuth2认证,可以让你获取到用户的访问Token并刷新此Token防止会话过期。

  

var google = require('googleapis');
 var plus = google.plus('v1');
 var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
 // Retrieve tokens via token exchange explained above or set them:
 oauth2Client.setCredentials({
  access_token: 'ACCESS TOKEN HERE',
  refresh_token: 'REFRESH TOKEN HERE'
 });
 plus.people.get({ userId: 'me', auth: oauth2Client }, function(err, response) {
  // handle err and response
 });

完整的登录授权示例。 https://github.com/google/google-api-nodejs-client/blob/master/examples/oauth2.js

例3: 文件上传

var fs = require('fs');
 var drive = google.drive({ version: 'v2', auth: oauth2Client });
 drive.files.insert({
  resource: {
  title: 'testimage.png',
  mimeType: 'image/png'
  },
  media: {
  mimeType: 'image/png',
  body: fs.createReadStream('awesome.png') // read streams are awesome!
  }
 }, callback);

问题解答?

如有任何问题可到 Stackoverflow 提问

如果发现漏洞可到GitHub上提交 Issue

NodeJs 相关文章推荐
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
Nodejs进阶:基于express+multer的文件上传实例
Nov 21 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
Nodejs中怎么实现函数的串行执行
Mar 02 NodeJs
Nodejs监听日志文件的变化的过程解析
Aug 04 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
NodeJs crypto加密制作token的实现代码
Nov 15 NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 NodeJs
使用nodejs、Python写的一个简易HTTP静态文件服务器
Jul 18 #NodeJs
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 #NodeJs
nodejs的10个性能优化技巧
Jul 15 #NodeJs
提高NodeJS中SSL服务的性能
Jul 15 #NodeJs
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
Jul 15 #NodeJs
nodejs 实现模拟form表单上传文件
Jul 14 #NodeJs
14款NodeJS Web框架推荐
Jul 11 #NodeJs
You might like
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
AJAX的使用方法详解
2017/04/29 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
Bootstrap表单布局
2016/07/19 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
Python的argparse库使用详解
2018/10/09 Python
使用python3构建文件传输的方法
2019/02/13 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
物业门卫岗位职责
2013/12/28 职场文书
领班岗位职责范文
2014/02/06 职场文书
员工团队活动方案
2014/08/28 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
MongoDB支持的数据类型
2022/04/11 MongoDB