Youtube api 更新youtube视频发布日期

Youtube api 更新youtube视频发布日期,youtube-api,Youtube Api,我正在尝试将youtube视频的发布日期设置为5分钟后: 请求 GET https://www.googleapis.com/youtube/v3/videos?part=status&id=_VIDEOID_&key=_KEY_ Authorization: Bearer xxxxx X-JavaScript-User-Agent: Google APIs Explorer PUT https://www.googleapis.com/youtube/v3/videos

我正在尝试将youtube视频的发布日期设置为5分钟后:

请求

GET https://www.googleapis.com/youtube/v3/videos?part=status&id=_VIDEOID_&key=_KEY_

Authorization:  Bearer xxxxx
X-JavaScript-User-Agent:  Google APIs Explorer
PUT https://www.googleapis.com/youtube/v3/videos?part=status&key=_KEY_

Content-Type:  application/json
Authorization:  Bearer xxxx
X-JavaScript-User-Agent:  Google APIs Explorer

{
 "status": {
   "embeddable": true,
   "license": "youtube",
   "privacyStatus": "private",
   "publicStatsViewable": true,
   "publishAt": "2015-01-21T11:20:27.751+00:00"
 },
 "id": "_VIDEOID_"
}
回应

200 OK

{
 - snip-
 "items": [
  {

   "kind": "youtube#video",
   "etag": "\"F9iA7pnxqNgrkOutjQAa9F2k8HY/ctlUM3pGyXYfW6_IYy2nlhviZZ4\"",
   "id": "_VIDEOID_",
   "status": {
    "uploadStatus": "processed",
    "privacyStatus": "private",
    "license": "youtube",
    "embeddable": true,
    "publicStatsViewable": true
   }
  }
 ]
}
400 Bad Request

{
 "error": {
  "errors": [
   {
    "domain": "youtube.video",
    "reason": "invalidRequest",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}
很好,我得到了视频信息,然后我尝试设置视频的publishAt值

请求

GET https://www.googleapis.com/youtube/v3/videos?part=status&id=_VIDEOID_&key=_KEY_

Authorization:  Bearer xxxxx
X-JavaScript-User-Agent:  Google APIs Explorer
PUT https://www.googleapis.com/youtube/v3/videos?part=status&key=_KEY_

Content-Type:  application/json
Authorization:  Bearer xxxx
X-JavaScript-User-Agent:  Google APIs Explorer

{
 "status": {
   "embeddable": true,
   "license": "youtube",
   "privacyStatus": "private",
   "publicStatsViewable": true,
   "publishAt": "2015-01-21T11:20:27.751+00:00"
 },
 "id": "_VIDEOID_"
}
回应

200 OK

{
 - snip-
 "items": [
  {

   "kind": "youtube#video",
   "etag": "\"F9iA7pnxqNgrkOutjQAa9F2k8HY/ctlUM3pGyXYfW6_IYy2nlhviZZ4\"",
   "id": "_VIDEOID_",
   "status": {
    "uploadStatus": "processed",
    "privacyStatus": "private",
    "license": "youtube",
    "embeddable": true,
    "publicStatsViewable": true
   }
  }
 ]
}
400 Bad Request

{
 "error": {
  "errors": [
   {
    "domain": "youtube.video",
    "reason": "invalidRequest",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}
有什么线索吗

我看不出我做错了什么。文档中说我应该能够设置publishAt值。我无法解决这个问题


我已经使用和C#API测试了这一点,并给出了相同的响应。

要更改upload方法中的字段,您必须放置您获得的所有其他字段,否则update方法会认为您试图清空它们


在您的情况下,您应该在PUT请求中包括“license”和“publicStatsViewable”,就像您从“get”请求中获得它们一样。

要更改upload方法中的字段,您必须放置您获得的所有其他字段,否则update方法会认为您试图清空它们


在您的情况下,您应该在PUT请求中包括“license”和“publicStatsViewable”,就像您从“get”请求中获得它们一样。

要更改upload方法中的字段,您必须放置您获得的所有其他字段,否则update方法会认为您试图清空它们


在您的情况下,您应该在PUT请求中包括“license”和“publicStatsViewable”,就像您从“get”请求中获得它们一样。

要更改upload方法中的字段,您必须放置您获得的所有其他字段,否则update方法会认为您试图清空它们


在您的情况下,您应该在PUT请求中包含“license”和“publicStatsViewable”,就像您从“get”请求中获得它们一样。

问题是我将Publish设置为太接近当前时间(5分钟)。60分钟有效


在我看来,这应该得到更好的记录,更新调用应该返回一个类似于插入的错误(badRequest(400)invalidPublishAt)

问题是我将Publish设置为太接近当前时间(5分钟)。60分钟有效


在我看来,这应该得到更好的记录,更新调用应该返回一个类似于插入的错误(badRequest(400)invalidPublishAt)

问题是我将Publish设置为太接近当前时间(5分钟)。60分钟有效


在我看来,这应该得到更好的记录,更新调用应该返回一个类似于插入的错误(badRequest(400)invalidPublishAt)

问题是我将Publish设置为太接近当前时间(5分钟)。60分钟有效


在我看来,这应该得到更好的记录,更新调用应该返回一个类似于INSERT的错误(badRequest(400)invalidPublishAt)

让我测试一下。。。当我使用C#API时,我修改了.list调用的返回值(因此默认情况下所有字段都应该填充-我只是修改publishAt),因此我不确定这是否正确。尽管您是正确的(这是google API exporer示例的问题),但我在C#SDK中遇到的问题是我试图过早地设置publishAt(显然,“5分钟内”是不可接受的,但“60分钟内”是可以的。)让我来测试一下……当我使用C#API时,我修改了.list调用的返回(因此默认情况下所有字段都应该填充-我只是修改了publishAt),所以我不确定这是否正确,尽管你是正确的(这是google API exporer示例的问题),我对C#SDK的问题是,我试图过早地设置publishAt时间(显然“5分钟内”是不可接受的,但“60分钟内”是可以接受的)。让我测试一下……当我使用C#API时,我修改了.list调用的返回(因此默认情况下所有字段都应该填充-我只是修改publishAt)因此,我不确定这是否正确。虽然你是正确的(这是谷歌api exporer示例的问题),但我对C#SDK的问题是我试图过早地设置发布时间(显然,“5分钟内”是不可接受的,但“60分钟内”是可以接受的。)让我来测试一下……当我使用C#API时,我修改了.list调用的返回(因此默认情况下所有字段都应该填充-我只是修改了publishAt),所以我不确定这是否正确,而你是正确的(这是google API exporer示例的问题),我对C#SDK的问题是,我试图过早地设置发布时间(显然,“5分钟内”是不可接受的,但“60分钟内”是可以接受的)