\ PlaylistItems: список API возвращает меньше, чем totalResults при удалении видео - PullRequest
0 голосов
/ 11 июня 2018

Ответ "GET https://www.googleapis.com/youtube/v3/playlistItems" для списка воспроизведения, содержащего удаленное видео, вернет отсутствующий элемент в массиве, проверил страницу ошибок, однако, похоже, что в этом случае ничего не возвращает ошибку.

Playlistid: PLn0Hg2TufJCmcAxBFzk8z28M7bph-TV2L

Удаленный видеоид: _cXqnTRHpZU

ответ:

/**
 * API response
 */
 {
    "kind": "youtube#playlistItemListResponse",
    "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/T8BMpwombSYE5-LT4FpqCHDEwUQ\"",
    "pageInfo": {
      "totalResults": 10,
      "resultsPerPage": 50
    },
    "items": [
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/4rqnSq9-GjuC3jGefwsyaa5CBvg\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC41MjE1MkI0OTQ2QzJGNzNG",
        "contentDetails": {
          "videoId": "ob6ISU-f1ho",
          "videoPublishedAt": "2011-05-01T16:25:52.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/RFwjMeMjCTaRZUDphrJCA7UUBkE\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC41MzJCQjBCNDIyRkJDN0VD",
        "contentDetails": {
          "videoId": "CGRf2Mpj8Yc",
          "videoPublishedAt": "2009-09-27T07:59:37.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/iUGZwVKJfLxCV-8Bo2riBnbGl_c\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC5DQUNERDQ2NkIzRUQxNTY1",
        "contentDetails": {
          "videoId": "hEhYol0gEg4",
          "videoPublishedAt": "2014-03-28T17:44:11.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/u_C1CEJaTi1zTsOIkXif0D5q1b8\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC45NDk1REZENzhEMzU5MDQz",
        "contentDetails": {
          "videoId": "wqv6r02ndLo",
          "videoPublishedAt": "2013-10-02T10:23:13.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/PMFK40fcEeXgwuNE3gdtDX4rE5M\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC5GNjNDRDREMDQxOThCMDQ2",
        "contentDetails": {
          "videoId": "eRr6TibE9G0",
          "videoPublishedAt": "2014-05-14T11:59:06.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/uYJMJTAtsEIisl_vothDzAtUmXc\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC40NzZCMERDMjVEN0RFRThB",
        "contentDetails": {
          "videoId": "JISlUIUY3sA",
          "videoPublishedAt": "2013-05-07T17:57:02.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/fnfbDo29xDX_41j7WwAHlOWCRXs\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC5EMEEwRUY5M0RDRTU3NDJC",
        "contentDetails": {
          "videoId": "rvXbj0jh2lA",
          "videoPublishedAt": "2014-05-28T17:55:37.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/MtvoZWwjFDcxXIlop7Nwu0hgnhI\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC45ODRDNTg0QjA4NkFBNkQy",
        "contentDetails": {
          "videoId": "ExEP-ZhT3sQ",
          "videoPublishedAt": "2013-11-08T17:51:22.000Z"
        }
      },
      {
        "kind": "youtube#playlistItem",
        "etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/VP-V_aDLbLQO7lHFj7TsZBDYj1U\"",
        "id": "UExuMEhnMlR1ZkpDbWNBeEJGems4ejI4TTdicGgtVFYyTC4zMDg5MkQ5MEVDMEM1NTg2",
        "contentDetails": {
          "videoId": "lWkhXQJMPCQ",
          "videoPublishedAt": "2013-01-21T21:28:51.000Z"
        }
      }
    ]
  }

В моем случае «totalResults»: 10, однако массив возвращает 9 элементов.Согласно моим испытаниям, единственный способ вызвать ошибку

GET https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails%2Cstatus&maxResults=50&playlistId=PLn0Hg2TufJCmcAxBFzk8z28M7bph-TV2L&videoId=_cXqnTRHpZU&key={YOUR_API_KEY}

Ответ:

404

- Show headers -

{
 "error": {
  "errors": [
   {
    "domain": "youtube.playlistItem",
    "reason": "videoNotFound",
    "message": "Video not found.",
    "locationType": "parameter",
    "location": "videoId"
   }
  ],
  "code": 404,
  "message": "Video not found."
 }
}

Цель этого состоит в том, чтобы обнаружить это удаленное видео в определенном списке воспроизведения и затем удалить его.

...