使用API控制台,我可以使此行正常工作:
GET https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCGaweJW8AnsV2ogktwOaWhQ&maxResults=50&order=date&publishedAfter=2019-01-01T00%3A00%3A00Z&publishedBefore=2019-03-01T00%3A00%3A00Z&type=video&key={YOUR_API_KEY}
如您所见,publishedAfter和publishedBefore是url编码的,格式为YYYY-MM-DDThh:mm:ssZ
使用com.google.api.services.youtube.Youtube类时,您可以使用以下方法:
public List setPublishedAfter(com.google.api.client.util.DateTime publishedAfter) {
this.publishedAfter = publishedAfter;
return this;
}
和
public List setPublishedBefore(com.google.api.client.util.DateTime publishedBefore) {
this.publishedBefore = publishedBefore;
return this;
}
他们接受DateTime而不是String,并且产生的urlString为:
https://www.googleapis.com/youtube/v3/search?channelId=UCGaweJW8AnsV2ogktwOaWhQ&maxResults=25&order=date&pageToken&part=snippet&publishedAfter=2019-03-01T00:00:00.000Z&publishedBefore=2019-01-01T00:00:00.000Z&type=video&videoEmbeddable=true
未编码publishedBefore和publishedAfter的地方,格式为:
YYYY-MM-DDThh:mm:ss **。mmmZ **
并且它不起作用,会忽略publishedAfter和publishedBefore。
有人让它起作用了吗?怎么样?
谢谢。
马可