2

YouTube Data API v3 を使用して YouTube トピックを検索しようとしています。safeSearch パラメータが "none" に設定されているにもかかわらず、YouTube が結果を返さない、一見人気のある Freebase トピックが多数あることがわかりました。たとえば、トピック「アルコール飲料」(/m/012mj) を YouTube で検索しようとすると、API が例外をスローします。

from apiclient.discovery import build
from apiclient.errors import HttpError

DEVELOPER_KEY = "blah blah"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
  developerKey=DEVELOPER_KEY)
topic_id = "/m/012mj"
try:
  search_response = youtube.search().list(
    topicId=topic_id,
    type="video",
    part="id",
    safeSearch="none",
    q="",
  ).execute()
except HttpError,e:
  print e

<HttpError 400 when requesting https://www.googleapis.com/youtube/v3/search?topicId=%2Fm%2F012mj&q=&safeSearch=none&part=id&key=AIzaSyC7MDamoleicn233r8mTyK2sohcV4A3Aq8&alt=&type=video returned "Invalid combination of search filters and/or restrictions.">

助言がありますか?

アップデート

これにより、400 エラーが返されなくなりました。API は、アイテムのない検索応答を返すようになりました。少なくとも、これはエラーと結果のない検索応答を区別するのに役立ちます。ただし、セーフサーチを「なし」に設定しても、YouTube がこのトピックの検索結果を返さないのは奇妙に思えます。

4

1 に答える 1

1

max-results パラメータの設定を検討しましたか? Freebase api の YouTube フレーバーの経験はありませんが、ビデオの結果をデフォルトの 25 を受け入れるのではなく、10 に制限することを推奨しているのを読んだことがあります。 401かそこら。

于 2013-06-28T23:41:48.403 に答える