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

客户端凭据流与curl一起工作,但不能在浏览器中工作

羊城
2023-03-14

我正在开发一个Spotify应用程序,我想获得令牌。

$ curl -H "Authorization: Basic YjU4Y...llYTQ=" \
-d grant_type=client_credentials \
https://accounts.spotify.com/api/token
# Response:
# {
#   "access_token":"BQD3u...W4iJA",
#   "token_type":"Bearer",
#   "expires_in":3600
# }
js prettyprint-override">var url = "https://accounts.spotify.com/api/token";
var authentication = "YjU4Y...llYTQ=";
var params = { grant_type: "client_credentials" };
var auth = "Basic " + authentication;

$.ajax({
  url: url,
  type: 'POST',
  dataType: 'json',
  headers: {
      'Authorization' : auth,
      'Access-Control-Allow-Origin': '*'
  },
  data: params,
  success: function(data) {
      console.log('success', data);
  }
});

我做错了什么?

真的有办法使用JavaScript从静态HTML文件中使用Spotify API吗?

共有1个答案

闾丘选
2023-03-14

没什么。浏览器不允许CORS,除非服务器特别授权。在您的情况下,您不能控制服务器,所以您只有一个选择-黑浏览器。轻松完成与插件的Firefox和Chrome。为Firefox到处搜索CORS。chrome也有一个叫做访问控制允许*,或者类似的东西。

相信我...我花了一周的时间尝试了一个不同的REST API。尝试js获取等。你必须用插件黑浏览器。

 类似资料:
  • 我能够登录我的本地(和远程服务器)与以下curl(我用Postman生成)...我可以登录成功使用另一个API客户端(Rest)与我试图在Postman中使用相同的参数/头/体。我已经关闭了SSL证书验证和发送邮递员令牌头设置(每其他堆栈溢出答案)... 卷曲: Curl-X POST\http://localhost:8080/api/user/login\-H'接受:应用程序/json'\-H

  • 我有一个非常简单的(现有的)web服务,我希望使用JDK8生成一个web服务客户机。 我使用的是纯JDK8工具链,这意味着我使用的是JDK8目录中的wsimport工具。 现在问题来了:JDK8中的wsimport工具生成的Java源代码不符合JDK8 Javadoc。正如您可能知道的那样,Javadoc工具在JDK8中变得更加严格。 请考虑以下简单模式: 为此,wsimport工具将生成Java

  • 3)使用REST客户端 将response_resclient.code 对于1和2,两者都是正确的。它们都返回状态201,登录成功,但使用3-REST_Client失败。状态为404 REST_Client: 对于Rest-client gem,它在向mysite.vn发送post请求后返回404错误,代码为443。我对这个案子没有理想。请你帮我解释一下这个案子好吗。如何用REST客户端纠正这个

  • 我已经为我的web服务器(Apache)和WebSocket服务器(PHPWS)安装了let's Encypt(https://letsencrypt.org/)证书。问题是SSL WebSocket在Firefox上运行良好,但在Chrome、Chromium和Opera上却无法运行。我以前尝试过自签名证书和安全WebSocket在Chrome和Chromium中工作。 我的网页位于https:

  • 我试图做一个文件上传到一个链接(共享点Rest服务),在chrome浏览器中工作良好,但不是在android WebView。 我知道android webview有很多限制,但我尝试使用以下方法上传一个文件 https://github.com/mgks/os-fileup 它打开浏览器,但它不显示文件名,也不上传任何内容或调用服务,但同样的代码在chrome浏览器中运行良好(请注意,我已经启用

  • 我在通过SPNEGO从Web浏览器(Internet Explorer 11)到自定义Java应用程序服务器提供的Web服务进行身份验证时遇到问题。 我可以使用SPNEGO成功地通过自定义Java客户端应用程序对同一应用程序服务器进行身份验证。 下面可以找到定制Java客户端和应用程序服务器的实现详细信息。 我怀疑网络浏览器中的SPNEGO无法正常工作,因为: a)Internet Explore