这让我感到困惑,看起来有些荒唐可笑。当我在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解决方案,但这似乎不对。
很想听到想法。
答案 0 :(得分:0)
我使用的解决方案是获取活动的发布日期和附加在一起的通道ID的哈希值。这不适合我,但这是我采用的解决方案。