Mapbox 如何使用API创建公共样式?

Mapbox 如何使用API创建公共样式?,mapbox,Mapbox,我试图在mapbox上使用json文件公开创建一种新样式 文档()说我们可以使用命令创建新样式 curl -X POST "https://api.mapbox.com/styles/v1/urbaneaseantho?access_token=sYOURTOKEN" --data @test2.json --header "Content-Type:application/json" 返回说是上传: {"version":8,"name":"My Awesome Style","metada

我试图在mapbox上使用json文件公开创建一种新样式

文档()说我们可以使用命令创建新样式

curl -X POST "https://api.mapbox.com/styles/v1/urbaneaseantho?access_token=sYOURTOKEN" --data @test2.json --header "Content-Type:application/json"
返回说是上传:

{"version":8,"name":"My Awesome Style","metadata":{},"sources":{"myvectorsource":{"url":"mapbox://{map_id}","type":"vector"},"myrastersource":{"url":"mapbox://{map_id}","type":"raster"}},"sprite":"mapbox://sprites/urbaneaseantho/cjw0ebb5v01p41co9znianoam/ck2u8j60r58fu0sgyxrigm3cu","glyphs":"mapbox://fonts/urbaneaseantho/{fontstack}/{range}.pbf","layers":[],"created":"2019-05-23T08:29:54.901Z","id":"cjw0ebb5v01p41co9znianoam","modified":"2019-05-23T08:29:54.901Z","owner":"urbaneaseantho","visibility":"private"}
我的问题是可见性,我需要默认设置为“public”

在我的test2.json文件中使用“visibility”:“public”,结果相同,如果添加“draft”:false,则mapbox不需要我的文件

另一种方法是尝试更新样式,但在使用时

curl -X POST "https://api.mapbox.com/styles/v1/urbaneaseantho/STYLE_ID?access_token=TOKEN" --data @test_update.json --header "Content-Type:application/json"
回报是

{"message":"Not Found"}
是否有可能或可能是api限制


感谢来自Mapbox支持部门的解决方案:

  • 进行GET调用以检索样式对象
  • 根据需要修改返回的JSON对象(在您的情况下,将“可见性”更改为“公共”)
  • 从样式对象中删除“已创建”和“已修改”属性
  • 使用更新的样式对象作为调用主体进行修补