YouTube Data API v3没有资源的唯一ID

时间:2018-04-03 21:16:41

标签: youtube-api youtube-data-api

这让我感到困惑,看起来有些荒唐可笑。当我在Data 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值,即" YouTube用于唯一标识活动的ID"根据{{​​3}}。

这是我的第二个要求:

{
    "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是否是唯一识别资源的事实方法。有没有人碰到这个?这是正确的行为吗?如果YouTube提供的id不是这样的话,我该如何唯一地识别资源?我可以整理一个hacky解决方案,但这似乎不对。

很想听到想法。

1 个答案:

答案 0 :(得分:0)

我使用的解决方案是获取活动的发布日期和附加在一起的通道ID的哈希值。这不适合我,但这是我采用的解决方案。