youtube api v3 serach通过bash和curl

时间:2016-04-02 10:41:08

标签: linux bash curl youtube

我遇到了YouTube API的问题。我正在尝试制作一个bash应用程序,以便在Linux上的命令行上轻松观看YouTube视频。我正在尝试通过cURL获取一些视频搜索结果,但它会返回错误:curl: (16) HTTP/2 stream 1 was not closed cleanly: error_code = 1

我使用的cURL命令是:

curl "https://ww.googleapis.com/youtube/v3/search" -d part="snippet" -d q="kde" -d key="~~~~~~~~~~~~~~~~"

当然,我在~~~~~~~~所在的位置添加了我的YouTube数据API密钥 我究竟做错了什么?

如何使其工作并返回搜索属性?

1 个答案:

答案 0 :(得分:0)

我可以在您的请求中看到两件不正确的事情:

首先,你错误输入" www"并说" ww"。这不是有效的网址

然后,curl'" -d"选项仅适用于POST,而不是GET,至少不是默认值。您有两种选择:

  1. 将-G开关添加到url,让curl将-d选项重新解释为查询选项:
  2. curl -G https://www.googleapis.com/youtube/v3/search -d part="snippet" -d q="kde" -d key="xxxx"

    1. 将您的网址重写为典型的GET请求:
    2. curl "https://www.googleapis.com/youtube/v3/search?part=snippet&q=kde&key=XX"

      作为提示,使用bash来解释生成的json可能不是最好的方法。您可能希望使用python,javascript等来运行查询并解释生成的json。