当前位置: 首页 > 知识库问答 >
问题:

访问控制允许源拒绝spotify api[重复]

司寇望
2023-03-14

我正在尝试访问 Spotify API 令牌,如下所示:

$.ajax({
  url: "https://accounts.spotify.com/api/token",
  type: 'POST',
  contentType: "application/json; charset=\"utf-8\"",
  crossDomain: true,
  data: {
    grant_type: "authorization_code",
    code: code,
    redirect_uri: "http://www.bancadigital.com.br/spotifyteste/callback.html"
  },
  processData: false,
  dataType: "json",
  headers: {
    Authorization: "Basic " + utf8_to_b64(key)
  },
  success: function( response ) {
    alert(response.access_token);
  },
});

但服务返回以下错误:

XMLHttpRequest无法加载https://accounts.spotify.com/api/token.请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“http://www.bancadigital.com.br”。

有人知道我如何能访问服务吗?

共有1个答案

姚嘉容
2023-03-14

对< code > https://accounts . Spotify . com/API/token 的请求需要在服务器端发出,而不是作为AJAX请求。

这样,包含应用程序凭据的密钥就不会被公开。此外,Spotify服务器将能够将请求与访问令牌一起重定向redirect_uri

另一种方法是使用隐式授权流,您可以在客户端运行一切,但不会获得刷新令牌。

我建议您阅读Spotify Web API授权指南,查看带有auth示例的GitHub repo,并查看使OAuth流程更容易实现的库和包装器。

 类似资料:
  • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

  • 问题内容: 我尝试使用以下代码通过$ http(角度)发送http请求: 但这不起作用,并且我在Web控制台中有此错误: 你有解决方案吗 ? 问题答案: 您看到此错误是由于在浏览器中实现的称为Same Origin Policy的安全机制所致。 基本上,这是由于您的网页尝试访问驻留在与网页本身不同的主机,端口或方案(HTTP / HTTPS /文件等)所在的服务器上的资源而引起的。 为了解决此问题

  • 我正在创建一个脚本,加载在其他网站的外部。它加载CSS和HTML,在我自己的服务器上工作得很好。 但还是不管用。

  • 我有错误: XMLHttpRequest 无法加载 http://localhost:5984/cp_config/。当凭据标志为 true 时,不能在“访问控制-允许-源”标头中使用通配符“*”。因此,不允许访问源“http://localhost”。XMLHttpRequest 的凭据模式由 withCredentials 属性控制。 但我有一个标题: 我该如何解决这个问题?

  • 我正在用POST测试JS。但是我没有成功。 使用代码: 我得到以下错误: 奇怪的是请求头没有通过以下行正确设置: 请求头如下所示:

  • 问题内容: 我试图使CORS请求正常工作。使用以下JS代码,我得到此错误: 这是JS代码: 当我使用chrome的devtools查看网络时,我发现确实没有标题。但是,当我手动加载该网站时,它就存在了! 我使用以下代码设置标题: 希望能有所帮助! 问题答案: 它说这意味着您的服务器应用程序需要调整以接受跨源请求。由于安全原因,默认情况下跨源请求不起作用。您需要启用它们。 对于django,有一个维