user2909494
user2909494

Reputation: 13

Update video using youtube api

I want to update a video using google api v3 and i get the error 400 Bad Request. This is my code.

$url  = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&videoId='.$_GET['videoId'].'&access_token='.Session::get('access_token');
$params = array(
    "id"=> $_GET['videoId'],
    "kind"=> "youtube#video",
    'snippet' => array(
        "title"=> "I'm being changed.",
        "categoryId"=> "10",
        "tags"=> array(
            "humanities",
            "Harpham",
            "BYU"
        ),
    'description' => 'test!'
    )
);
$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'PUT',
        'content' => http_build_query($params),
     ),
);
$context  = stream_context_create($options);
$result = json_decode(file_get_contents($url, false, $context));

Upvotes: 1

Views: 154

Answers (1)

Ibrahim Ulukaya
Ibrahim Ulukaya

Reputation: 12877

I think since you don't set all parameters inside snippet, that's giving an error. What you can do is, first getting that video with videos->list, then updating the field you are interested in and sending back the update request with the whole object back.

Here's an example also utilizing php client library: https://github.com/youtube/api-samples/blob/master/php/update_video.php

Upvotes: 1

Related Questions