1

我正在使用 nodeJS 使用 REST API 编辑我的功能层。我的意图是:

  1. 使用 Firebase Cloud-Functions 更新我的图层
  2. 公开分享我的图层
  3. 但是让未经授权的用户无法编辑我的图层
  4. 我想使用我的 API-Key 进行身份验证。

我的问题:如果我将我的功能定义编辑为这里"capabilities" : "Create, Update, Delete"提到的,那么任何未经授权的用户都可以编辑我的图层,而如果我不这样做,我会得到:

[ '不支持此操作。', '无法添加功能。', '不支持此操作。' ]

身份验证在文档中被删除。

我的代码:

require("cross-fetch/polyfill");
require("isomorphic-form-data");
const featureLayer = require('@esri/arcgis-rest-feature-layer');
const auth = require('@esri/arcgis-rest-auth');

const apiKey = new auth.ApiKey({key: 'some key...'});
featureLayer.applyEdits({
    url: "https://services3.arcgis.com/someID/arcgis/rest/services/someName/FeatureServer/0",
    adds: [{
      geometry: { x: 120, y: 45 },
      attributes: { indexCity: "alive" }
    }],
    authentication: apiKey
  })
    .then(response => {
      console.log(response)
    })
    .catch(err => console.log(err.response.error.details));

我正在使用node example.js终端运行我的代码。

作为经过身份验证的用户,如何仅为我定义 appleEdits?

4

1 回答 1

1

一种选择是对私有要素图层(可编辑)进行编辑,然后拥有该要素图层的公共(不可编辑)视图。

于 2021-11-11T01:50:54.050 回答