0
イムnodejsの新機能とexpeciallyとにかく誓い にはnodejsためgoogleapisを以下IMとこれは私が完全に コードを取得NodejsのOAuthエラー
var fs = require('fs');
var readline = require('readline');
var google = require('googleapis');
var express = require('express');
var app = express();
var port = 3000;
var OAuth2 = google.auth.OAuth2;
var oauth2client;
app.get('/', function(req, res){
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
if (err) {
console.log('Error loading client secret file: ' + err);
return;
}
// Authorize a client with the loaded credentials, then call the
// Gmail API.
var credentials = JSON.parse(content);
var clientSecret = credentials.web.client_secret;
var clientId = credentials.web.client_id;
var redirectUrl = credentials.web.redirect_uris;
oauth2client = new OAuth2(
clientId,
clientSecret,
redirectUrl
);
var SCOPES = ['https://www.googleapis.com/auth/gmail.readonly'];
var info = "Accedi a GMail"
var getCode = oauth2client.generateAuthUrl({
// 'online' (default) or 'offline' (gets refresh_token)
access_type: 'offline',
// If you only need one scope you can pass it as string
scope: SCOPES
});
res.send(info+"<br><br><button onclick='window.location.href=\""+ getCode +"\"'>Log in</button>");
});
});
app.get("/code", function(req,res){
var code = req.query.code;
res.send(code);
oauth2client.getToken(code, function (err, tokens) {
// Now tokens contains an access_token and an optional refresh_token. Save them.
if (!err) {
oauth2Client.setCredentials(tokens);
console.log(tokens);
}
else{
console.log(err);
}
});
});
console.log('Server listen in port '+port+'. Connect to localhost');
app.listen(port);
今ので、私はDITものですが、私はトークンのセクションに到着したとき私はちょうど私が間違っているんです何googleapisページ からそれをコピーした入手トークン機能
{ Error: invalid_request
at Request._callback (C:\Users\Edoardo\node_modules\google-auth-library\lib\
transporters.js:81:15)
at Request.self.callback (C:\Users\Edoardo\node_modules\google-auth-library\
node_modules\request\request.js:187:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (C:\Users\Edoardo\node_modules\google-auth-library\no
de_modules\request\request.js:1044:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (C:\Users\Edoardo\node_modules\google-auth-li
brary\node_modules\request\request.js:965:12)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7) code: 400 }
から無効な要求エラーがありますか?
MIssingパラメータ:redirect_uri 私は今何を追加しなければなりませんか? – Machine1104
OAtuh2コンストラクタでは、3番目のパラメータは、ログイン処理が完了した後のurlリダイレクトです。このような何か:\t \t \tするvar oauth2Client =新しいのOAuth2( \t \t \t \t \t config.GOOGLE_CLIENT、 \t \t \t \t \t config.GOOGLE_SECRET、 \t \t \t \t \t 'www.asdfasdf.com/landing.htmll' \t \t \t \t); – hernanBeiza