代码之家  ›  专栏  ›  技术社区  ›  Jack Michaud

YouTube数据API v3没有资源的唯一ID

  •  2
  • Jack Michaud  · 技术社区  · 6 年前

    这让我困惑,似乎有点可笑。当我在数据API上执行两个不同的查询时(以 Activities List endpoint (作为概念证明) id 因为请求之间的资源不同。

    这是我第一次请求的活动资源:

    {
        "kind": "youtube#activity",
        "etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/uGfbHYfKHEFhxWYbbmVxyBbQvNk\"",
        "id": "VTE1MjI3NzQwODY5NDMzMzYyOTc5NjQ5Ng==",
        "snippet": {
            "publishedAt": "2018-04-03T16:48:06.000Z",
            "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
            "title": "Google Summer of Code 2013 Mentor Summit",
            // ...
        }
        // ...
    }
    

    请注意 id号 值,根据 API documentation

    这是我的第二个要求:

    {
        "kind": "youtube#activity",
        "etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/dzIxWbnYZ3xx-1zi2VQ0V_f5PII\"",
        "id": "VTE1MjI3NzQwODY5NDYzMDM0OTg5MDAwMA==",
        "snippet": {
            "publishedAt": "2018-04-03T16:48:06.000Z",
            "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
            "title": "Google Summer of Code 2013 Mentor Summit",
            // ...
        }
        // ...
    }
    

    这个 id号 对于相同的资源是不同的。虽然前几个字符相同,但我已尝试截断 id号 但它并非对所有资源都是唯一的。

    我想知道 id号 是唯一标识资源的事实上的方式。有人碰到过这个吗?这是正确的行为吗?如果 id号 YouTube提供的不是这样吗? 我可以想出一个骇人的解决方案,但这似乎不对。

    我想听听你的想法。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Jack Michaud    6 年前

    我使用的解决方案是将活动的发布日期和频道ID的哈希值附加在一起。这对我来说并不合适,但这是我赞同的解决方案。