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学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
NodeJS实现自定义流的方法
Aug 01 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 NodeJs
详解nodejs内置模块
May 06 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
微信小程序中input标签详解及简单实例
2017/05/18 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
Vue axios设置访问基础路径方法
2018/09/19 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
Python 加密与解密小结
2018/12/06 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
武汉瑞得软件笔试题
2015/10/27 面试题
《长相思》听课反思
2014/04/10 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
双拥工作宣传标语
2014/06/26 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
导游词之无锡古运河
2019/11/14 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
如何自己动手写SQL执行引擎
2021/06/02 MySQL
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android