YouTube Data API v3:无效的搜索过滤器和/或某些Freebase主题的限制

时间:2013-06-27 14:07:40

标签: youtube youtube-api freebase

我正在尝试使用YouTube Data API v3进行YouTube主题搜索。我发现有许多看似很受欢迎的Freebase主题,即使safeSearch参数设置为" none",YouTube也不会返回任何结果。例如,当我尝试在YouTube上搜索主题"酒精饮料" (/ m / 012mj)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现在返回没有项目的搜索响应。至少这有助于我区分错误和没有结果的搜索响应。但是,即使将safeSearch设置为&#34; none&#34;,YouTube仍然无法返回此主题的搜索结果,这仍然很奇怪。

1 个答案:

答案 0 :(得分:1)

您是否考虑过设置max-results参数?我对Freebase api的YouTube风格没有经验,但read他们建议将视频的结果限制为10而不是接受25的默认值。否则他们会发送400(不好)很奇怪请求)而不是401左右。