gpt4 book ai didi

python - 无法使用 Youtube 数据 API 删除视频

转载 作者:太空狗 更新时间:2023-10-30 00:07:49 24 4
gpt4 key购买 nike

无法使用 Youtube 数据 API 删除视频。我正在使用 Python 客户端库。

所有这些似乎都是直接来自文档,所以我真的很困惑为什么它不起作用。这是我的功能:

def delete_youtube_video_by_id(video_id):
yt_service = gdata.youtube.service.YouTubeService()
yt_service.email = YOUTUBE_EMAIL
yt_service.password = YOUTUBE_SECRET_PASSWORD
yt_service.source = YOUTUBE_SOURCE
yt_service.developer_key = YOUTUBE_SECRET_DEVELOPER_KEY
yt_service.client_id = YOUTUBE_CLIENT_ID
yt_service.ProgrammaticLogin()
video_entry = yt_service.GetYouTubeVideoEntry(video_id=video_id)
response = yt_service.DeleteVideoEntry(video_entry)
return response

根据文档,如果视频被成功删除,这应该返回 True。但是,它返回无:

>>> response = delete_youtube_video_by_id('my_youtube_video_id')
>>> type(response)
<type 'NoneType'>
>>>

而且视频没有被删除。我知道凭据很好,因为它们与我最初用于上传视频的凭据相同,而且我知道 id 很好,因为我直接从我在 youtube 的 channel 中获得了它。

有什么想法吗?

最佳答案

我相当确定这是因为需要从您的上传 Feed 中获取视频条目,而不是一般的视频 Feed。否则条目不可编辑。

这将转化为

video_entry = yt_service.GetYouTubeVideoEntry('https://gdata.youtube.com/feeds/api/users/default/uploads/VIDEO_ID')

Python GData 客户端库仍然使用 v1 的数据 API,该 API 现已弃用很长时间,而且客户端库总体上维护得不好。

我建议切换到 v3和相应的new client library因为这绝对是 future 的环境。我们有一个 handful of Python samples available now ,虽然没有专门用于删除视频的工具,但它应该类似于

youtube.videos().delete(id=VIDEO_ID).execute()

(假设 youtube 是经过适当授权的 YouTube 客户端界面,遵循该页面上的现有示例)。

关于python - 无法使用 Youtube 数据 API 删除视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14199745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com