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制作爬虫全过程
Dec 22 NodeJs
Nodejs学习笔记之Stream模块
Jan 13 NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 NodeJs
NodeJS的Promise的用法解析
May 05 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
详解nodejs http请求相关总结
Mar 31 NodeJs
Nodejs监控事件循环异常示例详解
Sep 22 NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 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
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
Javascript的闭包
2009/12/31 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
javascript实现连续赋值
2015/08/10 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
python版本五子棋的实现代码
2018/12/11 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
教师节促销活动方案
2014/02/14 职场文书
2014司机年终工作总结
2014/12/05 职场文书
八一建军节慰问信
2015/02/14 职场文书
不同意离婚代理词
2015/05/23 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python