vb.net - 如何从 Spotify 拖放到 Winforms 应用程序

标签 vb.net url drag-and-drop spotify

如果有人将 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

  • 类似于 spotify:album:27ftYHLeunzcSzb33Wk1hf
  • 的桌面应用程序 URI
  • 看起来像 https://open.spotify.com/album/6btauNVZRPm75SILUUOLJY 的 Web 应用程序 URI

  • 您需要做的是将自己注册为开发人员获取 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/

    相关文章:

    c# - VS 2005 工具箱类控件.NET

    java - 无法发布到带有 "java.lang.IllegalArgumentException: Illegal character in path"的 URL

    asp.net vb 用户控件在调用页面上引发事件

    .net - VB.NET 中带有 = 的奇怪案例语句

    XML 转义字符

    windows - 拖放模拟?

    javascript - 在jquery中使用拖放上传时如何区分文件和文件夹?

    java - 如何使用 Liferay 7 在 JSP 中获取 URL 参数并将其放入隐藏输入

    css - LESS CSS 背景图像 URL 加载失败

    javascript - JQuery/javascript 将 div 放置在父 div 的任意位置