2

例とまったく同じように、Javaプロジェクトからキーワードによる検索を実行しています-

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

それはうまく機能しますが、例に PublishedAfter オプション search.setPublishedAfter(myDateTime);を追加すると、

エラー 400 メッセージを返します": "Bad Request"

  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 オプションを使用したい

助けてくださいありがとう

4

2 に答える 2

0

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);

このコード セグメントは、現在から 1 分前までにアップロードされた動画の検索を設定します。

于 2013-08-14T13:00:23.633 に答える