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

使用Python调用YouTube API取消视频点赞遇问题求助

批量取消视频点赞的API调试与实现方案

单个视频取消点赞失败的常见排查点

  • 鉴权权限不足:取消点赞属于用户敏感操作,必须使用包含修改权限的身份凭证(如OAuth 2.0 Token),而非只读权限的API密钥。检查Token的权限范围,比如是否包含likes.modify类权限。
  • 视频ID解析错误:获取点赞列表时,确认返回的字段是正确的视频ID(部分API返回嵌套结构,如id.videoId而非直接id),打印日志核对ID是否与实际视频一致。
  • 请求方式/端点错误:不同平台的取消点赞API要求的请求方法(POST/DELETE/PUT)、端点路径差异很大。比如部分平台需用POST请求并传入rating=none参数,而非直接调用DELETE接口。
  • 请求参数缺失:除视频ID外,可能需在请求头指定Content-Type: application/json,或通过参数关联当前用户,遗漏会导致请求被拒绝。

单个视频取消点赞示例代码(以通用视频API逻辑为例)

import requests

# 替换为你的有效授权Token
ACCESS_TOKEN = "your_valid_access_token"
# 从点赞列表获取的目标视频ID
TARGET_VIDEO_ID = "target_video_id_from_liked_list"

# 1. 获取已点赞视频列表
def fetch_liked_videos():
    api_url = "https://api.example.com/v1/user/liked-videos"
    headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
    params = {"limit": 50}  # 单次请求返回的最大数量
    
    response = requests.get(api_url, headers=headers, params=params)
    if response.status_code != 200:
        print(f"获取点赞列表失败: {response.json()}")
        return []
    # 根据实际API返回结构提取视频ID
    return [video["id"] for video in response.json()["data"]]

# 2. 取消单个视频点赞
def cancel_like(video_id):
    api_url = f"https://api.example.com/v1/videos/{video_id}/like"
    headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
    
    # 部分平台用DELETE,部分用POST传取消参数,根据实际API调整
    response = requests.delete(api_url, headers=headers)
    if response.status_code in (200, 204):
        print(f"已取消视频 {video_id} 的点赞")
    else:
        print(f"取消点赞失败: {response.json()}")

# 测试单个视频操作
test_video_id = fetch_liked_videos()[0]
cancel_like(test_video_id)

批量取消的循环实现

import time

def batch_cancel_likes():
    liked_videos = fetch_liked_videos()
    if not liked_videos:
        print("未找到已点赞的视频")
        return
    
    for video_id in liked_videos:
        cancel_like(video_id)
        # 加延时避免触发API限流
        time.sleep(1)
        
        # 处理分页:如果点赞视频超过单次请求上限,需循环获取下一页数据
        # 示例:检查返回的next_token,继续请求直到所有数据获取完成

batch_cancel_likes()

额外注意事项

  • 限流与重试:所有公开API都有请求频率限制,批量操作必须添加延时;遇到429限流错误时,根据返回的Retry-After头设置等待时间,或实现最多3次的重试逻辑。
  • 分页处理:若点赞视频数量超过API单次返回的最大条数,需通过返回的分页标识(如nextPageToken)循环获取全部数据,避免遗漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:55:15