未经授权的访问 - mapbox:服务器响应状态为401

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未经授权的访问 - mapbox:服务器响应状态为401相关的知识,希望对你有一定的参考价值。

我正在尝试遵循传单地图教程(使用Mapbox磁贴),以便在我的网页中基本显示地图。我确保创建一个个人令牌并将其替换为tileLayer,因为它已被推荐。但我总是得到'无法加载资源:服务器在控制台中响应状态为401(未授权)'错误。

我的代码与教程中的代码基本相同,只是我添加了生成的令牌:

<html>
<head>
 <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css"
   integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ=="
   crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"
   integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw=="
   crossorigin=""></script>

    
</head>
<body>

 <div id="mapid"></div>
</body>
</html>
<script type="text/javascript">
document.onload = loadMap();

function loadMap() {

  var map = L.map('mapid').setView([51.505, -0.09], 13);


  L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={sk.eyJ1IjoiaXFhcmNobGkiLCJhIjoiY2pqZTN1OTNxMGNubDNwbXNhbDNka2J4ZiJ9.UKoT12YRTSSUEnIGHyiScQ}', {
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
    maxZoom: 18,
    id: 'mapbox-outdoors',
    accessToken: 'sk.eyJ1IjoiaXFhcmNobGkiLCJhIjoiY2pqZTN1OTNxMGNubDNwbXNhbDNka2J4ZiJ9.UKoT12YRTSSUEnIGHyiScQ'
  }).addTo(map);

}

</script>
答案

您不应该将令牌放在URL中。当javascript加载时,acces_token={accessToken}将被替换。您只需要像在这里一样指定您的密钥:

accessToken:'*cut key away*'

因此这应该工作:

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
    maxZoom: 18,
    id: 'mapbox-outdoors',
    accessToken: 'sk.eyJ1IjoiaXFhcmNobGkiLCJhIjoiY2pqZTN1OTNxMGNubDNwbXNhbDNka2J4ZiJ9.UKoT12YRTSSUEnIGHyiScQ'
  }).addTo(map);

以上是关于未经授权的访问 - mapbox:服务器响应状态为401的主要内容,如果未能解决你的问题,请参考以下文章

如何在默认响应护照中添加状态

未捕获(承诺):响应状态:401 未经授权的 URL:http://example.com/wp-json/wp/v2/posts

GraphQL lambda 解析器返回未经授权的访问

一般的响应状态码

如何为未经授权的 AJAX 调用而不是登录页面返回 JSON 响应作为 AJAX 响应?

错误:无法匹配任何路由。 URL 段:“配置文件”或加载资源失败:服务器响应状态为 401(未授权)