如何在Erlang中生成Google oauth2访问令牌。
我可以在NodejS i中生成令牌。我需要它在Erlang中,因为我所有的其余API代码都在Erlang中。
块引号
var {google} = require('googleapis');
var MESSAGING_SCOPE = "https://www.googleapis.com/auth/firebase.messaging";
var SCOPES = [MESSAGING_SCOPE];
var http = require('http')
function getAccessToken(){
return new Promise(function(resolve, reject){
var key = require("./ServiceAccountKey.json");
var jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
SCOPES,
null
);
jwtClient.authorize(function(err, tokens){
if(err){
reject(err);
return;
}
resolve(tokens.access_token+" : "+tokens.expiry_date);
});
});
}
var server = http.createServer(function(req, res){
getAccessToken().then(function(access_token){
res.end(access_token);
});
});
server.listen(3000, function(){
console.log("Server started");
});
尝试生成代码
URL="https://accounts.google.com/o/oauth2/auth",
Scope="https://www.googleapis.com/auth/firebase.messaging",
GetURL=URL++"?client_id="++ClientId++"&redirect_uri=com.example.app:/oauth2redirect&scope="++Scope++"&response_type=code",
Response = httpc:request(URL),
Response.
返回错误请求
1条答案
按热度按时间d6kp6zgx1#
在代码中,我们创建了一个包含所有必需查询参数的URL,并将其放入变量
GetURL
中,但随后将URL
(这只是基本URL)传递给httpc:request
,尝试传递GetURL
,看看是否能进一步提高效率: