При выполнении приведенного ниже примера кода только первый плейлист YouTube ($ YouTubePlaylistId1) обновляется добавленным видео ($ YouTubeVideoId).
Пока не обновляется второй плейлист YouTube ($ YouTubePlaylistId2).
Я не получаю никаких ошибок, но может ли быть проблема с телом json ниже?Или это что-то еще, что я пропустил здесь?
Я пытался переключить плейлист, но всегда определяется первый, который обновляется.
Нет разницы, если этоодин и тот же идентификатор списка воспроизведения, заданный в обеих переменных: $ YouTubePlaylistId1, $ YouTubePlaylistId2, с уникальным видео ($ YouTubeVideoId).
Пробовал несколько вариантов тела json ($ YouTubePlaylistVideoBody), но обычно это заканчивается сообщением об ошибкеформат json.
# Set the first yt playlist id
$YouTubePlaylistId1 = "DummyPlaylistId1"
# Set the second yt playlist id
$YouTubePlaylistId2 = "DummyPlaylistId2"
# Set the yt video id
$YouTubeVideoId = "dQw4w9WgXcQ"
# Set access token provided by https://developers.google.com/oauthplayground
$GoogleAccessToken = "DummyAccessToken"
# Set the rest method to yt playlistitems
$YouTubePlaylistVideoUri = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet"
# Set the JSON body
$YouTubePlaylistVideoBody = @"
{
"snippet": {
"playlistId": "$YouTubePlaylistId1",
"resourceId": {
"kind": "youtube#video",
"videoId": "$YouTubeVideoId"
}
},
"snippet": {
"playlistId": "$YouTubePlaylistId2",
"resourceId": {
"kind": "youtube#video",
"videoId": "$YouTubeVideoId"
}
}
}
"@
# Create new header object
$HeaderValue = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
# Append the Google access token in $GoogleAccessToken
$HeaderValue.Add("Authorization", "Bearer $GoogleAccessToken")
# Invoke rest command
Invoke-RestMethod -Headers $HeaderValue -Uri $Uri -Method "POST" -Body
$YouTubePlaylistVideoBody -ContentType "application/json"
Ожидаемый результат состоит в том, что оба плейлиста YouTube обновляются с помощью видео.
Фактический результат заключается в том, что только первый плейлист (определенный в $ YouTubePlaylistVideoBody) выполняется толькообновлено, без сообщений об ошибках.
Редактировать: Попытка использовать два разных массива JSON, как показано ниже, но все они заканчиваются ошибкой "(400) Bad Request":
$YouTubePlaylistVideoBody = @"
{
"snippet": [
"playlistId": "$YouTubePlaylistId1",
"resourceId": {
"kind": "youtube#video",
"videoId": "$YouTubeVideoId"
},
"playlistId": "$YouTubePlaylistId2",
"resourceId": {
"kind": "youtube#video",
"videoId": "$YouTubeVideoId"
}
]
}
"@
$YouTubePlaylistVideoBody = @"
[
"snippet": {
"playlistId": "$YouTubePlaylistId1",
"resourceId": {
"kind": "youtube#video",
"videoId": "$YouTubeVideoId"
}
},
"snippet": {
"playlistId": "$YouTubePlaylistId2",
"resourceId": {
"kind": "youtube#video",
"videoId": "$YouTubeVideoId"
}
}
]
"@