通过 API 更新 YouTube 视频隐私状态的 PATCH 请求存在问题

问题描述 投票:0回答:1

标题:通过 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"
       }
    }
    

我尝试过的:

  1. 已验证视频ID:
    我通过成功发出

    GET 请求
    来检索视频的当前状态来确认视频 ID rOWGJjUUZ6Q 存在:

    GET https://www.googleapis.com/youtube/v3/videos?part=status&id=rOWGJjUUZ6Q
    
  2. 提出 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 令牌具有修改视频状态的必要范围。


最小可重复示例:

  1. 要求

    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"
      }
    }
    
  2. 回复:

    {
      "error": {
        "code": 404,
        "message": "Not Found",
        "errors": [
          {
            "message": "Not Found",
            "domain": "global",
            "reason": "notFound"
          }
        ]
      }
    }
    

oauth-2.0 youtube-api http-status-code-404 youtube-data-api patch
1个回答
0
投票

使用 HTTP 方法 PUT(根据 YouTube Data API v3 视频:更新端点是必需的)而不是 PATCH 解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.