【发布时间】:2019-06-22 22:30:08
【问题描述】:
我正在尝试通过 API 密钥使用 Meetups API,但我被 CORS 阻止了。
我正在使用见面会给出的示例:https://api.meetup.com/2/events?key=mykey&group_urlname=ny-tech&sign=true,用我的 API 密钥替换 API 密钥。这个例子来自here.
这是我的代码(我拿出我的钥匙并用
<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>
我收到以下错误:
访问 XMLHttpRequest 在 'https://api.meetup.com/2/events?key=aKey&group_urlname=ny-tech&sign=true' 来自原点 'http://127.0.0.1:5500' 已被 CORS 策略阻止: 请求中不存在“Access-Control-Allow-Origin”标头 资源。 test.html:18
跨域读取阻塞 (CORB) 被阻止 跨域响应 https://api.meetup.com/2/events?key=aKey&group_urlname=ny-tech&sign=true MIME 类型应用程序/json。看 https://www.chromestatus.com/feature/5629709824032768 了解更多 详情。
我是 API 新手,我对这里发生的事情感到困惑。我知道 Meetup 的 API 上的一些 API 请求需要 OAuth,我仍在努力掌握。 但是,由于这是文档中用于 API 密钥的示例,而不是 OAuth,因此我希望它可以与我的 API 密钥一起使用。当我将请求简单地粘贴到浏览器中时,该请求有效,但不是当我使用 jQuery 来抓取它时。
文档中有几个地方谈到了 CORS: Here 文档说
“您必须使用 OAuth 才能从 CORS 中受益。”
还有here
虽然我们支持第一方基于密钥的身份验证 应用程序,我们需要 OAuth 用于第三方应用程序 代表其他用户执行操作。
我没有代表其他用户采取行动。但我是第三方应用程序吗?什么是第一方应用程序?在什么情况下我提出的请求会起作用?
【问题讨论】:
-
Access to XMLHttpRequest blocked by CORS policy- 绕过它的最简单方法是使用 后端 加载您的应用程序。将文件移动到 xampp 文件夹或从 NodeJS 加载它可以很简单。对于您的 HTTP GET 请求部分问题,您有 read this 吗?
标签: javascript jquery api cors meetup