目前我的准系统功能在本地工作,并返回一个 authtoken。当我压缩我的文件夹的内容(不是文件夹本身,更早的问题)并在 Lambda 上上传/测试时,我收到一个错误“找不到模块 'bl'”,这似乎来自
/var/task/node_modules/googleapis/node_modules/google-auth-library/node_modules/request/request.js:9:10。
bl 模块在那里,我尝试重新安装 bl 和整个 googleapis 模块几次。我试过删除对 bl 的引用,但没有一个有效。包含 bl 的请求模块本身包含多次,所以也许我尝试在不同的位置引用 bl。对我来说,它可以在本地工作,包括模块,而不是在 lambda 上工作,这是没有意义的。
我已经编写了几个 Lambda 函数,但这是我必须使用库并上传 zip 而不是内联编写的第一个函数,所以也许还有其他我错过的东西。
任何帮助将不胜感激。
var https = require('https');
var google = require('googleapis');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
var key = { ... };
function requestToken() {
var scope = 'https://www.googleapis.com/auth/calendar';
var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, scope, null);
jwtClient.authorize(function(err, tokens) {
if (err) {
console.log(err);
return;
}
else {
console.log('token: ' + JSON.stringify(tokens)); // works as intended locally
}
});
}
requestToken();