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打包工具整合到鼠标右键的方法
May 11 NodeJs
基于NodeJS的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
轻松创建nodejs服务器(3):代码模块化
Dec 18 NodeJs
Nodejs学习笔记之NET模块
Jan 13 NodeJs
浅谈Nodejs应用主文件index.js
Aug 28 NodeJs
NodeJs的fs读写删除移动监听
Apr 28 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
Nodejs调用Dll模块的方法
Sep 17 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 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
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
Python 3 判断2个字典相同
2019/08/06 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
建议书的格式
2014/05/12 职场文书
奥林匹克的口号
2014/06/13 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
大国崛起英国观后感
2015/06/02 职场文书
家长会感言
2015/08/01 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
python数据处理之Pandas类型转换
2022/04/28 Python