如果有人将 Spotify 轨道从 Spotify 桌面应用程序拖放到 Excel,则 Excel 会显示歌曲的艺术家和标题。
我有一个 winforms 应用程序,我想在其中做同样的事情。
如果我拖放到这样的列表框......
Private Sub ListBox1_DragEnter(sender As Object, e As DragEventArgs) Handles ListBox1.DragEnter
ListBox1.Items.Add(e.Data.GetData(DataFormats.Text))
End sub
.... 它所做的只是显示 spotify 轨道 ID。
由于 Excel 不是为读取 Spotify 网址而设计的,因此数据必须在拖放中。但无论我选择什么数据格式,我只得到 ID。
最佳答案
如果您拖动轨道并将其粘贴到文本编辑器上,您将看到它是一个 uri
所以在 VB.NET DragEventArgs 中包含 URI
所以我们需要知道这里的 Spotify URI 是什么
所以从 Spotify 帖子中引用你正在处理 2 种类型的 URI
Spotify URI Codes
您需要做的是将自己注册为开发人员获取 token (您作为开发人员的 key )以使用他们的服务
使用该 token 向他们授权
您可以使用他们的 Rest API 并为他们提供该 URI 以获取您希望在 json 中拥有的数据
这是 Rest API 的文档
Spotify Rest API Documentation
如果该服务需要您花钱购买,这是您可以采取的另一种方法
使用 将 DesktopURI 转换为 Web URI String.Split(":") 或正则表达式两种方式都有效
从而创建您的自定义 Web URI,然后将该 Web URI 粘贴到爬虫并获取您的数据
当然,您可以在执行额外步骤之前使用 .NET URI 构建器类对其进行验证
Spotify 中的每个平台都有 3 种类型的 uri,因此请确保将其分类为 Track 、 Album 、 PlayList ,因为您的爬虫将获取的内容不同
我认为他们的 Rest API 是免费服务,但请确保您不违反他们的 SLA Spotify SLA
有趣的是,我告诉你,当我的第二个解决方案建议没有遵循他们的 SLA 时
关于vb.net - 如何从 Spotify 拖放到 Winforms 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088115/