You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Youtube API传入location参数报无效参数错误如何解决

错误原因

调用YouTube Data API v3的search.list接口传入location、locationRadius参数做地理范围过滤时,接口有未在醒目位置标注的强制约束:必须同时传入order参数,且参数值固定为location,缺失该参数就会直接返回Request contains an invalid argument错误,和你当前传入的经纬度、半径、时间范围参数格式无关。

修复方法

在请求参数中补充order='location'即可,修改后的可运行代码如下:

import googleapiclient.discovery


api_service_name = "youtube"
api_version = "v3"
DEVELOPER_KEY = 'key'
# 初始化API客户端
youtube = googleapiclient.discovery.build(
        api_service_name, api_version, developerKey = DEVELOPER_KEY)

request = youtube.search().list(
        part="id,snippet",
        type='video',
        videoDuration='short',
        videoDefinition='high',
        order='location', # 地理过滤场景必填参数,缺失会触发参数非法错误
        publishedAfter='2012-07-05T11:10:04Z',
        publishedBefore='2013-07-05T11:10:04Z',
        location='37.42307,-122.08427',
        locationRadius='1km'
)


response = request.execute()


for item in response['items']:
    vidId = item['id']['videoId']
    print("Publish date:",item ['snippet']['publishedAt'])
注意事项
  • 设置order='location'后,返回结果会默认按照视频标记的位置距离你传入坐标的远近,从近到远排序,该场景下不支持使用其他排序规则
  • 只有上传时由上传者主动标记了地理位置信息的视频,才会被地理过滤条件命中,没有添加地理标记的视频即使实际拍摄位置在你指定的范围内,也不会出现在返回结果中

内容的提问来源于stack exchange,提问作者Andreas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:36:16