Я пытаюсь настроить авторизацию для использования API Google для того, чтобы делать запросы к API-интерфейсу для веб-мастеров, но я не могу понять, как инициировать аутентификацию. Я установил маршрут, который должен инициировать вызовы разрешения на авторизацию при доступе, но я получаю непрерывный сигнал нагрузки без ответа на данные. Я использую библиотеку Google, https://github.com/google/google-api-nodejs-client/, и мои учетные данные идентификатора клиента OAuth2 перенаправляют uri, указывающие на http://localhost:3000/
, потому что я хочу проверить установку локально.Google API NodeJS OAuth2 Request
Вот мой код:
index.js
var express = require('express');
var app = express();
var handlebars = require('hbs');
var google = require('googleapis');
var webmastertools = google.webmasters('v3');
app.set('port', process.env.PORT || 3000);
// Handlebars View Engine
app.set('view engine', handlebars);
app.use(express.static(__dirname + '/public')); // set the public directory
app.listen(app.get('port'), function(){
console.log('Server on port'+app.get('port'));
});
var routes = require('./app/routes');
app.use(routes);
Вот мой route.js:
var express = require('express');
var router = express.Router();
var google = require('googleapis');
var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2('*client-id*', '*client-secret*', 'http://localhost:3000/');
router.get('/', function(req, res){
res.render('index.hbs');
});
router.get('/auth', function(req, res){
//generater a url that asks permissions for Webmaster Tools
var scopes = [
'https://www.googleapis.com/auth/webmasters'
];
var url = oauth2Client.generateAuthUrl({
access_type: 'online',
scope: scopes
});
});
router.get('404', function(req, res){
res.type('text/plain');
res.status(404);
res.send('404 - Not Found');
});
router.get('500', function(err,req, res, next){
console.error(err.stack);
res.type('text/plain');
res.status(500);
res.send('500 - Server Error');
});
module.exports = router;