python - Google YouTube API v3 抛出 503 后端错误

标签 python google-api

我正在开发一个应用程序,它可以从某些网站抓取歌曲并通过 Google 的 Youtube API 以编程方式在 youtube 上“喜欢”它们。为了获得我正在寻找的视频 ID,我使用艺术家和歌曲名称执行谷歌搜索并解析结果。这个过程工作正常并返回有效的视频 ID(我已经手动测试过)。我遇到问题的地方是我根据视频 ID“喜欢”某些东西的代码,它基本上是直接从谷歌的 YouTube API Python 示例中复制的:

def likeVideo(youtube, video_id):
    channels_list_response = youtube.channels().list(
      mine=True,
      part="contentDetails"
    ).execute()

    # Adding a video as a favorite or to the watch later list is done via the
    # same basic process. Just read the list id of the corresponding playlist
    # instead of "likes" as we're doing here.
    liked_list_id = channels_list_response["items"][0]["contentDetails"]["relatedPlaylists"]["likes"]

    body = dict(
      snippet=dict(
        playlistId=liked_list_id,
        resourceId=dict(
          kind="youtube#video",
          videoId=video_id
        )
      )
    )
    youtube.playlistItems().insert(
      part=",".join(body.keys()),
      body=body
    ).execute()

    print "%s has been liked." % video_id

但是,我的应用程序抛出了这个错误:

apiclient.errors.HttpError: <HttpError 503 when requesting https://www.googleapis.com/youtube/v3/playlistItems?alt=json&part=snippet returned "Backend Error">

通过谷歌开发论坛搜索显示这可能是谷歌服务器端的问题,但我不确定我的具体情况。有人看到可能出了什么问题吗?

编辑:过去几天我一直在使用这个应用程序,它似乎运行得还不错;很少有 503 错误...但是,此时它通常每个 session 只执行一个 API 请求。当我第一次遇到错误时,它正在执行大约 6 个批处理。在执行批处理请求时是否会发生一些我应该考虑的事情?

最佳答案

它不会让我评论你的问题,我真的不认为这是一个答案,但也许只是需要考虑的事情。前段时间我在做一个项目,我有一个 CSV 列表,里面有很多 youtube 视频 URL。我想将视频的标题放在我的 CSV 列表中的 URL 旁边。鉴于页面的标题是视频的标题,我利用 URLLIB 从列表中的 URL 抓取页面,抓取标题,将其放入我的列表并循环下一个,下一个,等等等等。无论如何,我只得到了部分结果!只有大约一半的东西起作用了。好吧,事实证明我用 URLLIB 访问 youtube 的速度太快了,他们的服务器一定是在限制我的速度,我实现了一个 5-15 秒的计时器并得到了不同的结果。我在每个视频之间做了 15 秒,我能够获得每个页面标题。现在允许您使用我一无所知的 youtube API,但也许通过他们的 API 对 youtube 数据的调用也以某种方式受到限制?我只是在这里吐口水,很抱歉将此作为答案发布,但我似乎找不到评论按钮!

编辑 - 为了让这看起来更像是一个答案,尝试利用时间模块在 API 调用之间休眠。

while 0 == 0
  likeVideo(youtube, video_id)
  time.sleep(15)

希望这会有所帮助,或者至少有人会这样做。祝你好运!

关于python - Google YouTube API v3 抛出 503 后端错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14589553/

相关文章:

javascript - 如何使用 Google Calendar API 检索每月重复事件的实例?

python - 如何在不使用 hist() 函数的情况下创建值及其计数的直方图?

python - 如何加速 python DataFrame 中的嵌套循环?

python:遍历按键排序的字典

python - 自定义 django 过滤器模型字段

javascript - Google+ API 不返回 access_token Javascript

android - 对 Google Maps Platform 的无 key 访问已弃用

python - 属性错误 : 'module' object has no attribute 'WebSocketApp'

oauth - Google API key 的有效期是多久?

Android Google Maps Api V2 崩溃