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分页类代码分享
Jun 17 NodeJs
Nodejs极简入门教程(二):定时器
Oct 25 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
nodeJs内存泄漏问题详解
Sep 05 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
NodeJs 实现简单WebSocket即时通讯的示例代码
Aug 05 NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 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小马小结(方便查找后门的朋友)
2012/05/05 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
extjs render 用法介绍
2013/09/11 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
python实现录音小程序
2020/10/26 Python
python生成lmdb格式的文件实例
2018/11/08 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
python中取绝对值简单方法总结
2020/07/24 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
学校门卫管理制度
2014/01/30 职场文书
奥利奥广告词
2014/03/20 职场文书
青春励志演讲稿
2014/04/29 职场文书
电教室标语
2014/06/20 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
大学运动会通讯稿
2015/07/18 职场文书
辞职申请书范本
2019/05/20 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
Python中递归以及递归遍历目录详解
2021/10/24 Python
Python中time与datetime模块使用方法详解
2022/03/31 Python