当使用PublishedAfter时,youTube数据API V3-搜索返回错误400



我正在从一个java项目中运行一个按关键字搜索,与示例中的完全一样

https://developers.google.com/youtube/v3/code_samples/java#search_by_keyword

它工作得很好,但当我在示例中添加PublishedAfter选项时search.setPublishedAfter(myDateTime)

它返回错误400消息":"错误请求"

  YouTube.Search.List search = youtube.search().list("id,snippet");
  String apiKey = properties.getProperty("youtube.apikey");
  search.setKey(apiKey);
  search.setQ(queryTerm);
  search.setPublishedAfter(myDateTime) // the code works when removing this line
  search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
  search.setMaxResults(NUMBER_OF_VIDEOS_RETURNED);
  SearchListResponse searchResponse = search.execute();
  List<SearchResult> searchResultList = searchResponse.getItems();

我想使用setPublishedAfter选项

请帮助感谢

Youtube api v3表示"publishedAfter参数表示api响应应仅包含在指定时间后创建的资源。该值为RFC 3339格式的日期时间值(1970-01-01T00:00:00Z)"因此,您的问题很可能是因为您的日期格式。查看您的"myDateTime"对象。错误应该就在附近。还可以看看我的代码:

Calendar cal = Calendar.getInstance();
Date currentDateOfAmerica=cal.getTime();
cal.set(12, cal.get(12)-1);
Date dateOneMinuteBefore=cal.getTime();
DateTime dt1 = new DateTime(dateOneMinuteBefore);
DateTime dt2 = new DateTime(currentDateOfAmerica);
search.setPublishedAfter(dt1);
search.setPublishedBefore(dt2);

此代码段设置从现在到一分钟前上传的搜索视频

字段部分出现问题。你建议的字段部分没有描述最有可能发布的内容。

只需注释setFields,就可以了。

相关内容

  • 没有找到相关文章