Youtube API 搜索自动完成

Posted

技术标签:

【中文标题】Youtube API 搜索自动完成【英文标题】:Youtube API search auto-complete 【发布时间】:2012-07-01 18:52:49 【问题描述】:

我正在使用 Youtube API,我想要一个搜索自动完成功能,就像在 YouTube 上一样,当您在搜索输入框中输入时,它会为您提供搜索建议。 我已经阅读了文档,但仍然缺少,这可以使用 API 吗?

【问题讨论】:

【参考方案1】:

好的,我找到了这个网址:

http://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=Query

它不是 Youtube API 的一部分,但仍然有效,返回 JSON 响应。

【讨论】:

这真是太酷了……你是怎么找到它的,通过查看 youtube 搜索的网络请求? 我们没有在 json 中获取数据,它正在 .txt 文件中下载? 我们如何获得 json 格式的建议,来自这个链接 .suggestqueries.google.com/complete/… 这不适用于 AJAX 请求,因为响应缺少 CORS 标头:( 这是“谷歌之道” :D 当然,他们有一些理由进行黑客攻击codepen.io/vyachkonovalov/pen/XRYpgB?editors=0012【参考方案2】:

对于 json 只需添加“客户端”参数:

http://suggestqueries.google.com/complete/search?client=youtube&ds=yt&client=firefox&q=Query

【讨论】:

这正是需要的,基于这个codepen.io/OfficialAntarctica/pen/oxQQPB做了一个例子 是否可以直接在json中获取数据响应??它正在下载 .txt 文件【参考方案3】:

所有 api 都是并提供 google 搜索建议而不是 youtube 搜索建议

使用这个:

https://clients1.google.com/complete/search?client=youtube&gs_ri=youtube&ds=yt&q=faded

使用以下 JS 代码提取建议:

//  data is response of above api
   const data = 'window.google.ac.h(["faded",[["faded",0,[433]],["faded alan walker lyrics",0,[433]],["faded remix",0,[433]],["faded 8d",0,[433]],["faded piano",0,[433]],["faded wheel free fire",0],["faded karaoke",0,[433]],["faded ringtone",0,[433]],["faded instrumental",0,[433]],["faded live",0,[433]],["faded piano tutorial",0,[433]],["faded whatsapp status",0,[433]],["faded dhol cover",0,[433]],["faded dance",0,[433]]],"k":1,"q":"_sPyvXmmbfcsVtfP4sgjOdKQAvg"])';

    const searchSuggestions = [];
    data.split('[').forEach((ele, index) => 
      if (!ele.split('"')[1] || index === 1) return;
        return searchSuggestions.push(ele.split('"')[1]);
    );
    console.log(searchSuggestions);

【讨论】:

localhost可以用这个api吗?我遇到了Origin https://localhost:8080 is not allowed by Access-Control-Allow-Origin. 错误。【参考方案4】:

查看 YouTube 自动完成关键字抓取工具。不太确定提出问题的人想要 YouTube 自动完成解决方案的上下文,但我想我会把它扔在那里。

【讨论】:

【参考方案5】:

你也可以使用 JSON:

url: "https://suggestqueries.google.com/complete/search?client=youtube&ds=yt&q=" + i,
        dataType: "jsonp",

【讨论】:

以上是关于Youtube API 搜索自动完成的主要内容,如果未能解决你的问题,请参考以下文章

从Javascript自动启动YouTube视频

Spotify API - 自动完成搜索结果为空

使用 Google PLACES Api 搜索查看自动完成建议

Google Places api 无法自动完成新 api 库中的搜索查询

Youtube Data API v.3 - 全自动 oAuth 流程(Python)?

Django JQuery 自动完成功能不起作用 - 没有显示,但 API URL 有效