0

我无法让我的 Google Compute 实例与 Datastore(在同一个项目中)对话。

我相信我已经正确设置了所有内容:

  • Google Compute 实例具有完整的 API 范围
  • 项目中已启用所有相关 API
  • 计费在项目中启用

教程声称我什至不需要服务帐户即可使用 API,但由于它不起作用,我还尝试设置服务帐户并将密钥文件放在我的实例上。仍然没有运气。

这是我正在尝试运行的代码(我在Test项目的数据存储区中创建了一个实体,我可以使用 Google 的 API Explorer 和我的帐户的 OAuth2 令牌成功地查找它):

const gcloud = require('gcloud')({
  projectId: 'roger-web-client',
  keyFilename: './roger-web-client-8d1fbd8baae2.json',
});

const dataset = gcloud.datastore.dataset();

dataset.get(dataset.key(['Test', 5629499534213120]), (error, entity) => {
  console.log(error || entity);
});

这会导致错误403 Forbidden。如果我注释掉keyFilename,我会得到401 Unauthorized相反的结果,这似乎意味着 Google Compute 实例上的魔法授权对我不起作用。

想法?

4

0 回答 0