C# 获取spotify播放列表的内容时出现意外结果

C# 获取spotify播放列表的内容时出现意外结果,c#,spotify,C#,Spotify,我需要一个包含播放列表内容的最新数据库 我正在使用libspotify api的C#包装器- 目前我的工作流程如下 登录,等待播放列表容器加载,加载时收听播放列表加载事件,加载我感兴趣的播放列表时,等待播放列表上的所有曲目加载完毕,然后将内容写入数据库 每次程序启动时,我都会完全清除缓存目录 我发现这样做很好,并且在大多数情况下,正如预期的那样,当在正常的spotify客户端中删除一些曲目时,这些曲目似乎仍然会被api返回,即使它们不再存在(我正在清除缓存目录,所以它们必须存在?) 有人知道这是

我需要一个包含播放列表内容的最新数据库

我正在使用libspotify api的C#包装器-

目前我的工作流程如下

登录,等待播放列表容器加载,加载时收听播放列表加载事件,加载我感兴趣的播放列表时,等待播放列表上的所有曲目加载完毕,然后将内容写入数据库

每次程序启动时,我都会完全清除缓存目录

我发现这样做很好,并且在大多数情况下,正如预期的那样,当在正常的spotify客户端中删除一些曲目时,这些曲目似乎仍然会被api返回,即使它们不再存在(我正在清除缓存目录,所以它们必须存在?)

有人知道这是什么原因吗

更新

我发现API似乎将不同的信息返回到客户端中可查看的内容。我已经从不同的计算机上运行了console应用程序,已经删除的曲目仍在返回。正常的spotify客户端不显示这些,也在多台计算机上进行了测试。在我的应用程序中,我登录,等待播放列表完全加载,然后退出,此应用程序正在执行计划任务

更新2

我目前正在等待

(playlist.IsLoaded == true && 
playlist.CurrentTracks.All(x => x.IsLoaded && x.Artists.Count() > 0))
使用

session.OnMetaDataUpdated += HandleOnMetaUpdated;


如果播放列表后端运行缓慢,则客户端中所做的更改可能需要一段时间才能进入Spotify后端。只有在它们进入后端后,更改才会传递给其他客户端。

更新了我的问题。当你说后端时,你指的是普通的windows客户端吗?我在周五移除了一些轨道,三天后仍在归还。我想知道如何进一步排除故障。不,我所说的“后端”是指Spotify服务器。您可以通过在新机器上安装Spotify客户端进行双重检查,查看它为您的播放列表显示了什么。此外,请注意,播放列表更改会作为增量发送到libSpotify,因此您可能会在收到“删除这些曲目”增量之前查看列表。sp_PlayContainer上有API可用于检查正在进行的操作。Spotify客户端显示多台计算机上已删除曲目的播放列表,而console应用程序显示的曲目仍存在于多台计算机上。我需要使用哪些Api调用?已使用我当前用于检查的内容再次更新了问题。我当前正在使用session.OnMetaDataUpdated+=HandleOnMetaUpdated等待(playlist.IsLoaded==true&&playlist.CurrentTracks.All(x=>x.IsLoaded&&x.Artists.Count()>0));和playlist.OnMetadataUpdated+=PlaylistMetaUpdated;我想出来了。。应用程序没有任何问题,只是客户端隐藏了这些曲目,因为它们无法在我所在的区域播放。谢谢你的帮助!
playlist.OnMetadataUpdated += PlaylistMetaUpdated;