标题:通过 API 更新 YouTube 视频隐私状态的 PATCH 请求存在问题
我正在尝试使用
PATCH请求将 YouTube 视频的隐私状态从
public
更改为 unlisted
。
https://www.googleapis.com/youtube/v3/videos?part=status
PATCH
youtube.force-ssl
范围的有效承载令牌。{
"id": "rOWGJjUUZ6Q",
"status": {
"privacyStatus": "unlisted"
}
}
已验证视频ID:
我通过成功发出
GET 请求来检索视频的当前状态来确认视频 ID
rOWGJjUUZ6Q
存在:
GET https://www.googleapis.com/youtube/v3/videos?part=status&id=rOWGJjUUZ6Q
提出 PATCH 请求以更新视频的隐私状态:
PATCH https://www.googleapis.com/youtube/v3/videos?part=status
Authorization: Bearer ya29.a0AcM612w9X_EA90n_64XLBguIa_HMwqKpyK9TbZAnm-ky0CaSNzVGzivkmO9Vv_NJlhJziKWLNdEMoTpx5pE8vGjrPePBJmgIFqS2blQjWJsveSjsEeP7qKb8erKHqLvLoXUUZKccLgQQnGjidjTiH1vHhJi4JsnHhe2SoIfMagaCgYKAd8SARASFQHGX2MiAKjW6kcC6NjkyoI_Inm76A0177
Content-Type: application/json
{
"id": "rOWGJjUUZ6Q",
"status": {
"privacyStatus": "unlisted"
}
}
我预计视频的隐私状态会从
public
更改为 unlisted
并收到确认更新的 200 OK 响应。
相反,我收到了 404 Not Found 响应,即使视频 ID 有效、视频存在,并且 OAuth 令牌具有修改视频状态的必要范围。
要求:
PATCH https://www.googleapis.com/youtube/v3/videos?part=status
Authorization: Bearer ya29.a0AcM612w9X_EA90n_64XLBguIa_HMwqKpyK9TbZAnm-ky0CaSNzVGzivkmO9Vv_NJlhJziKWLNdEMoTpx5pE8vGjrPePBJmgIFqS2blQjWJsveSjsEeP7qKb8erKHqLvLoXUUZKccLgQQnGjidjTiH1vHhJi4JsnHhe2SoIfMagaCgYKAd8SARASFQHGX2MiAKjW6kcC6NjkyoI_Inm76A0177
Content-Type: application/json
{
"id": "rOWGJjUUZ6Q",
"status": {
"privacyStatus": "unlisted"
}
}
回复:
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"message": "Not Found",
"domain": "global",
"reason": "notFound"
}
]
}
}
使用 HTTP 方法 PUT(根据 YouTube Data API v3 视频:更新端点是必需的)而不是 PATCH 解决了我的问题。