服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - Google官方支持的NodeJS访问API,提供后台登录授权

Google官方支持的NodeJS访问API,提供后台登录授权

2021-01-29 16:48JavaScript教程网 JavaScript

Google官方支持的NodeJS集成客户端,用以访问Google APIs, 支持OAuth 2.0授信及登录认证。登录以后即可在后台访问例如 Google Drive(云存储), Google Analytics, Gmail等服务。

安装

此库通过npm发布。通过以下命令安装googleapis及其依赖

?
1
$ npm install googleapis

完整的API支持列表 https://developers.google.com/apis-explorer

使用

例1: 通过Google短地址获取完整地址

?
1
2
3
4
5
6
7
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防止会话过期。

  

?
1
2
3
4
5
6
7
8
9
10
11
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: 文件上传

?
1
2
3
4
5
6
7
8
9
10
11
12
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

延伸 · 阅读

精彩推荐