Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#开始Spotify web API,无范围_C#_.net_Web Services_Spotify - Fatal编程技术网

从C#开始Spotify web API,无范围

从C#开始Spotify web API,无范围,c#,.net,web-services,spotify,C#,.net,Web Services,Spotify,我正在尝试访问Spotify web API(遵循以下文档:)。 我只需要访问公共数据,比如专辑名和封面艺术。要访问它,我不需要任何用户范围,所以我认为最好的方法是不指定范围的“授权代码” 我发现的唯一示例使用客户端凭据和用户作用域,因此用户必须授予访问权限。但在这种情况下,不应该这样 我已经设法从get请求中获得响应,但这是一个html页面,所以我需要使用http服务器并侦听httpServer.OnAuth。 这会导致web浏览器打开,用户接受访问,但我认为公共访问不需要这样做 所以,我的问

我正在尝试访问Spotify web API(遵循以下文档:)。 我只需要访问公共数据,比如专辑名和封面艺术。要访问它,我不需要任何用户范围,所以我认为最好的方法是不指定范围的“授权代码”

我发现的唯一示例使用客户端凭据和用户作用域,因此用户必须授予访问权限。但在这种情况下,不应该这样

我已经设法从get请求中获得响应,但这是一个html页面,所以我需要使用http服务器并侦听httpServer.OnAuth。 这会导致web浏览器打开,用户接受访问,但我认为公共访问不需要这样做

所以,我的问题是。。。有没有办法获得授权,在用户不执行任何操作的情况下查询spotify web api的公共数据?可能是网络请求和响应?或者甚至可以用完全不同的方法访问这些spotify公共数据。。。我很困惑,我认为这应该是可能的


谢谢你的时间

我最近也做了同样的事情,和你一样,我也有点困惑于如何在没有用户输入其凭据的情况下查询Spotify API。让我困惑的是不同授权流的命名:授权代码、客户端凭据和隐式授权。当您意识到客户机凭据中的客户机不是用户中的客户机,而是您正在开发的应用程序中的客户机时,就变得更加清楚了

这里非常详细地描述了该过程:

但简而言之,以下是您需要完成的步骤:

  • 在处创建自己的应用程序(这是您获取后续API调用所需的客户端ID和客户端机密的地方)
  • 访问API时,首先需要使用主体参数grant\u type=client\u credentials和头参数Authorization:Basic Base64(client\u Id:client\u Secret)向发送POST请求
    这将返回一个访问令牌,用于进一步的API调用(有效期为一小时)
  • 现在,您可以查询API(例如,使用搜索曲目),将访问令牌作为头参数Authorization:Bearer[access\u token]
    您可以继续对多个API调用使用相同的access_令牌,只要它仍然有效

  • 那正是我想要的,谢谢!我会试试看它是否管用