我只想做类似的事情:
curl "https://www.googleapis.com/youtube/v3/videos?id=${ID}&part=snippet&key=${KEY}"
使用Go API确定上传视频的日期。但是,在将https://godoc.org/google.golang.org/api/youtube/v3和reference倒入鼠标后,我很沮丧地无法弄清楚如何完成此基本任务。
我可以在godoc中看到VideoSnippet,但我不知道如何发现调用返回的结果。
答案 0 :(得分:0)
使用/youtube/v3/videos
(用于搜索)和查询参数part=snippet
。返回的每个项目都将包含一个带有发布日期的snippet
对象。
{
"kind": "youtube#videoListResponse",
"etag": "\"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/Eemxf1NUP9tlqRv5dvxAjeicTjI\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [{
"kind": "youtube#video",
"etag": "\"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/tq9JVgQy7-68z3ESgWpT0bHx5BE\"",
"id": "9bZkp7q19f0",
"snippet": {
"publishedAt": "2012-07-15T07:46:32.000Z",
...
curl + jq❤的示例:
$ curl "https://www.googleapis.com/youtube/v3/videos?part=snippet&id=9bZkp7q19f0&key=$KEY" -s | jq -r '.items[0].snippet.publishedAt'
2012-07-15T07:46:32.000Z
答案 1 :(得分:0)
[免责声明:我自己不是golang程序员-只是在寻求帮助]
根据文档,publishedAt位于response.Items[].snippet.publishedAt
。
然后,您可以使用Search endpoint's examples处的Golang代码作为灵感的源泉。或在Github w.r.t.上提供更好的示例代码PlaylistItems endpoint。
另外请注意,API不会发布视频的上传日期和时间。这是相应视频所有者的私人信息。
publishedAt (日期时间)
视频发布的日期和时间。 请注意,此时间可能不同于视频的上传时间。例如,如果视频作为私人视频上传,然后在以后公开,则此属性将指定时间该视频已公开。
答案 2 :(得分:0)
我为此编写了一个包:
package main
import "github.com/89z/mech/youtube"
func main() {
w, err := youtube.NewWeb("JsjrIa9E9A8")
if err != nil {
panic(err)
}
println(w.PublishDate == "2016-07-18")
}