我正在尝试使用带有 API 密钥的聚会 API,但我被 CORS 阻止了。
我正在使用示例 meetup 给出:https://api.meetup.com/2/events?key=mykey&group_urlname=ny-tech&sign=true
,用我的 API 密钥替换 API 密钥。这个例子来自这里。
这是我的代码(我拿出我的钥匙并用 <key> 替换它):
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="find">find</button>
<script>
$("#find").click( function(){
$.getJSON("https://api.meetup.com/2/events?key=<key>&group_urlname=ny-tech&sign=true", function(data){
console.log(data);
});
});
</script>
我收到这些错误:
从源“ http://127.0.0.1:5500 ”访问“ https://api.meetup.com/2/events?key=aKey&group_urlname=ny-tech&sign=true ”的 XMLHttpRequest已被 CORS 策略阻止:否请求的资源上存在“Access-Control-Allow-Origin”标头。test.html:18
跨域读取阻止 (CORB) 阻止 了 MIME 类型 application/json的跨域响应https://api.meetup.com/2/events?key=aKey&group_urlname=ny-tech&sign=true 。有关详细信息,请参阅 https://www.chromestatus.com/feature/5629709824032768 。
我是 API 新手,我对这里发生的事情感到困惑。我知道meetup API 上的一些API 请求需要OAuth,我仍在努力掌握。但是,由于这是文档中用于 API 密钥的示例,而不是 OAuth,因此我希望它可以与我的 API 密钥一起使用。当我简单地将它粘贴到浏览器中时,该请求有效,但在我使用 jQuery 抓取它时无效。
文档中有几个地方谈到了 CORS: 这里的文档说
“您必须使用 OAuth 才能从 CORS 中受益。”
在这里
虽然我们支持对第一方应用程序进行基于密钥的身份验证,但我们要求对代表其他用户执行操作的第三方应用程序进行 OAuth。
我不代表其他用户采取行动。但我是第三方应用程序吗?什么是第一方应用程序?在什么情况下我提出的请求会起作用?