gpt4 book ai didi

python - Youtube API 错误 v3 - 'No Filter Selected'

转载 作者:太空狗 更新时间:2023-10-30 01:21:35 26 4
gpt4 key购买 nike

我正在使用 Youtube V3 Api,这里是从我的 YouTube channel 中提取前十名视频的代码片段。 (同样的查询在 google API explorer @ https://developers.google.com/apis-explorer/ 中完美运行)

url_start = "https://www.googleapis.com/youtube/v3/videos?" + \ 
"order=viewCount&part=snippet&forMine=true" + \
"&type=video&maxResults=10&key=MY_API_KEY"
data = requests.get(url_start).json()

但是我得到这个错误:

{u'error': {u'code': 400,
u'message': u'No filter selected.',
u'errors':[{u'locationType': u'parameter',
u'domain': u'youtube.parameter',
u'message': u'No filter selected.',
u'reason': u'missingRequiredParameter',
u'location': u''}]}}

我知道 key 是有效的,因为如果我可以在没有 forMine 的情况下执行相同的查询

https://www.googleapis.com/youtube/v3/search?part=snippet&key=MY_API_KEY

我从 youtube 上获得了总体上排名靠前的视频。是否有更好的方法或解决方法?

最佳答案

forMine参数仅适用于经过身份验证的用户(已使用您的应用程序完成 oAuth2 流程的用户),因此您的请求提示缺少的参数是所需的访问 token 。

如果您的目标是运行一个私有(private)脚本来在任何给定时间向您显示您的前十个视频,那么您可以在您的应用程序中设置一个临时例程,允许您使用 oAuth2 手动进行身份验证并捕获刷新 token ;如果您存储它,那么在以后的请求中,刷新 token 可以获得访问 token ,而无需您手动授权。

如果您的目标是创建一个仪表板以便您的用户可以看到他们自己的前十个视频,那么您只需将 oAuth2 身份验证连接到您的流程中,并在每个请求中发送访问 token 。 gapi client for Python 使这变得非常简单。

如果不带视频列表的forMine参数,可以返回搜索端点,传入用户 channel ID(当然这个需要提前知道) ,而经过身份验证的方法适用于任何登录的用户,而您不必知道他们是谁):

https://www.googleapis.com/youtube/v3/search?order=viewCount&part=snippet&channelId={channel id here}&maxResults=25&key={YOUR_API_KEY}

关于python - Youtube API 错误 v3 - 'No Filter Selected',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30375182/

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