gpt4 book ai didi

node.js - Google Mapsengine 响应服务帐户权限不足

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:28 24 4
gpt4 key购买 nike

我正在尝试在 map 引擎中为谷歌地图创建表格。我已将服务帐户添加到 map 的 Mapsengine 管理面板中的访问列表中,并授予其“可以编辑”权限。我还在项目的开发者控制台中授予了它编辑权限。

这是我发送访问 token 的地方,该 token 正在发回 token :

    var googleapis = require('googleapis');
function connect() {
var authClient = new googleapis.auth.JWT(
'216755859529-1s2o9qofhd9ea65ang9clpd1936ldfcr@developer.gserviceaccount.com',
'../bin/googleoauth2.pem',
'notasecret',
['https://www.googleapis.com/auth/mapsengine'],
// User to impersonate (leave empty if no impersonation needed)
''
);

authClient.authorize(function(err, tokens) {
if (err) {
console.log(err);
return;
}
else {
console.log(tokens);
}

googleapis.discover('mapsengine', 'v1').execute(function (err, client) {
if (err) {
console.log('Problem during the client discovery.', err);
return;
}
createNewTable();
client.mapsengine.tables.create(mapengine_table_body).withAuthClient(authClient).execute(function (err, response) {
if (err) {
console.log(err);
return;
} else {
console.log(response);
return;
}
});

});
});
}

这是我创建表格并发送它的地方:

function createNewTable() {

mapengine_table_body = {
"projectId": projectID,
"name": "World Famous Mountains",
"description": "A partial list of famous mountains in the world.",
"draftAccessList": "Map Editors",
"tags": [
"mountain",
"high places"
],
"schema": {
"columns": [
{
"name": "geometry",
"type": "points"
},
{
"name": "mountain_name",
"type": "string"
},
{
"name": "height",
"type": "integer"
}
]
}
}
}
function start() {

'use strict';
var pck, program;

pck = require('../package.json');
program = require('commander');

program
.version(pck.version)
.option('-r, --run', 'Run')
.parse(process.argv);

console.log('running:');
if (program.run) {
connect();
}
}

查看项目时我从 url 获取的 ProjectId。我已经浏览了尽可能多的文档,但我无法弄清楚这一点。谢谢。

最佳答案

如果没有您的错误响应,我无法给您确切的答案,但这里有一些提示。

  1. 检查执行 block 中err的内容。 API 将在 err.errors 中返回一些内容,以解释问题所在(如果问题发生在 API 端)。
  2. 不清楚 mapengine_table_body 变量的范围是什么,请尝试在调用 createNewTable() 之后立即将其记录在 connect() 调用中code> 以确保您拥有实际数据。
  3. googleapis.auth.JWT 构造函数中的第三个参数(至少根据 this )不是 key 密码,它是提供 key 密码的另一种方法实际的键内联(而不是使用参数 #2 中的文件位置)。
  4. map 引擎中的项目 ID 可能看起来像很大的数字,但在 JavaScript 中将它们视为较大的数字很可能会导致四舍五入,这意味着您为 API 提供的数字与代码中的数字不同。为了防止这种情况发生,请确保您的项目 ID 被“引用”,以便将其视为字符串。

希望这里有帮助!如果没有,请分享建议#1 的输出。

关于node.js - Google Mapsengine 响应服务帐户权限不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24192396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com