有什么方法可以直接使用“trackID”启动“站”吗?现在我必须使用“搜索”查询来搜索 Station Factory。使用搜索查询的第一个结果,我将返回的结果设置为“源”。这就是我能够将曲目作为电台播放的方式。谢谢。
问问题
32 次
1 回答
2
正如你所说,你可以通过这种方式搜索轨道并获得车站工厂。例如,这个查询:
query {
search(query:"Let Me by Zayn", types:[SF], pagination: {limit: 1}) {
items {
... on StationFactory {
name
id
}
}
}
}
返回此结果:
{
"data": {
"search": {
"items": [
{
"name": "Let Me",
"id": "SF:21586:35686886"
}
]
}
}
}
通过包含types:[SF]
在search
参数中,结果仅限于“站工厂”。电台工厂(请参阅文档中的“电台和电台工厂” )可用于开始电台播放(请参阅setSource
此处的信息)。
一个类似但略有不同的路径是搜索曲目(请注意,我们现在指定types:[TR]
而不是types:[SF]
):
query {
search(query:"Let Me by Zayn", types:[TR], pagination: {limit: 1}) {
items {
... on Track {
name
artist {
name
}
stationFactory {
id
}
}
}
}
}
返回:
{
"data": {
"search": {
"items": [
{
"name": "Let Me",
"artist": {
"name": "ZAYN"
},
"stationFactory": {
"id": "SF:21586:35686886"
}
}
]
}
}
}
使用types:[TR]
. 具体来说,某些轨道不会有 stationFactory ID。绝大多数轨道都有 stationFactory ID,所以这不应该是主要的限制因素,但在这里进行空检查很重要。
最后,如果您已经知道曲目 ID,则可以使用方便的entity
查询来查找该曲目的所有关联元数据。这里我们拉出站厂ID:
query {
entity(id: "TR:35686886") {
... on Track {
stationFactory {
id
}
}
}
}
返回:
{
"data": {
"entity": {
"stationFactory": {
"id": "SF:21586:35686886"
}
}
}
}
于 2020-11-06T20:08:15.110 回答