【发布时间】:2015-12-06 08:05:27
【问题描述】:
为了访问谷歌地图跟踪 API,我有谷歌的 OAuth 2.0 授权服务器发送的访问令牌。现在我需要将这个访问令牌与我对谷歌地图轨迹 API 发出的每个 http 请求一起发送。我应该在哪里把这个访问令牌放在 http 请求中?我试图将标头作为“X-Access-Token”:“myaccesstoken”,但我得到了来自 api 的响应,如下所示。
body: '{\n "error": {\n "errors": [\n {\n "domain": "global",\n "reason": "required",\n " message": "需要登录",\n "locationType": "header",\n "location": "Authorization"\n }\n ],\n "code": 401,\n "message": "登录必需"\n }\n}\n' }
我参考了google map track API官方文档https://developers.google.com/maps/documentation/tracks/auth,但是无法解决这个错误。
以下是用于向 Google 的 OAuth 2.0 授权服务器进行身份验证的代码,以及用于向 google map track API 发送请求的代码。
var jwt = new googleapis.auth.JWT(client_email, keyFile, null, scopes, null);
jwt.authorize(function(jwtErr, tokens){
if(jwtErr){
return;
}
else{
headers = {
'content-type' : 'application/json',
'X-Access-Token' : tokens.access_token
};
options = {
url : 'https://www.googleapis.com/tracks/v1/geofences/list',
headers : headers,
method : 'POST',
};
request(options, function(error, response, body){
if(error){
return;
}
console.log(response);
});
}
});
【问题讨论】:
标签: node.js google-maps