我很难通过Youtube API发现运算符和函数如何用于研究。
在Youtube.Search我找到了方法setQ,它解释了运算符NOT和OR的逻辑,但没有解释运算符AND的逻辑。主要思想是进行一个包含两个参数的搜索,我可以使用OR逻辑。
示例:我希望2“鱼”和“海”应该是研究元数据的一部分。
我已经对前端调用进行了分析,它有这样的形式:fish + sea但是如果我尝试在java中实现它,它看起来它不能正常工作,因为我有其他结果。 PS:我已经按相关性排序了所有结果(通过将“相关性”值设置为youtube本身使用的逻辑)因此我想在youtube网站和我的本地应用程序中获得相同的结果。
我使用Google Data API Explorer测试了一些请求,我发现单词“AND”(大写)会给你带来稍微不同的结果:
例如,以下请求是针对使用查询“铃声”(没有双引号)的搜索视频 - 它将带来来自美国地区的前10个搜索结果:
https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=10&q=The+ring®ionCode=US&type=video&fields=items(id(channelId%2Ckind%2CvideoId)%2Csnippet(channelTitle%2Ctitle))%2CnextPageToken%2CpageInfo%2CprevPageToken%2CregionCode%2CtokenPagination&key={YOUR_API_KEY}
这些是结果:
{
"nextPageToken": "CAoQAA",
"regionCode": "US",
"pageInfo": {
"totalResults": 1000000,
"resultsPerPage": 10
},
"items": [
{
"id": {
"kind": "youtube#video",
"videoId": "PFsl1cGHzp4"
},
"snippet": {
"title": "The Ring (1/8) Movie CLIP - You Will Die in Seven Days (2002) HD",
"channelTitle": "Movieclips"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "lbO9LhD9PsI"
},
"snippet": {
"title": "The Ring- final scene!",
"channelTitle": "prochys09"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "5bXpMRkwm_8"
},
"snippet": {
"title": "SML Movie: The Ring",
"channelTitle": "SuperMarioLogan"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "V3iJqH9-tQ8"
},
"snippet": {
"title": "Everything Wrong With The Ring In 14 Minutes Or Less",
"channelTitle": "CinemaSins"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "lm9AoNNWiPc"
},
"snippet": {
"title": "The Ring Evolution in Movies & TV. (Sadako & Samara)",
"channelTitle": "Darwin's Media"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "hpb2-ZOzc_o"
},
"snippet": {
"title": "Samara Comes to You - The Ring (8/8) Movie CLIP (2002) HD",
"channelTitle": "Movieclips"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "Baw98nsMvxU"
},
"snippet": {
"title": "scary movie 3 brenda vs the ring lol",
"channelTitle": "maltbydude"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "6YP1xg8G1o4"
},
"snippet": {
"title": "RINGS behind the scenes",
"channelTitle": "teu davidz"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "rroMPRc4flw"
},
"snippet": {
"title": "The Ring Two (8/8) Movie CLIP - I'm Not Your Mommy (2005) HD",
"channelTitle": "Movieclips"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "WcuRPzB4RNc"
},
"snippet": {
"title": "Rings (2017) - TV Store Prank",
"channelTitle": "Paramount Pictures"
}
}
]
}
这是前一个请求的demo。
通过以下修改进行测试:
我现在可以测试上一个请求的修改版本:
"the"
结果如下:
"ring"
这是前一个请求的https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=10&q=%22The%22+AND+%22ring%22®ionCode=US&type=video&fields=items(id(channelId%2Ckind%2CvideoId)%2Csnippet(channelTitle%2Ctitle))%2CnextPageToken%2CpageInfo%2CprevPageToken%2CregionCode%2CtokenPagination&key={YOUR_API_KEY}
。
如果比较两个结果,您会看到(使用AND运算符)不包含这些搜索结果:
N.B:我强调了搜索条件:
相反,新的结果是:
我认为结果没有太大的变化。