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 实现模拟form表单上传文件
Jul 14 NodeJs
Nodejs中session的简单使用及通过session实现身份验证的方法
Feb 04 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
win系统下nodejs环境安装配置
May 04 NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 NodeJs
nodeJs项目在阿里云的简单部署
Nov 27 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/06/08 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
FireFox中textNode分片的问题
2007/04/10 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
python实现用户登陆邮件通知的方法
2015/07/09 Python
Python中格式化format()方法详解
2017/04/01 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
Django中Forms的使用代码解析
2018/02/10 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
公司授权委托书范本
2014/04/03 职场文书
李敖北大演讲稿
2014/05/24 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
python实现简单区块链结构
2021/04/25 Python
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
Nginx实现负载均衡的项目实践
2022/03/18 Servers