Well, from what I can say, there is no way to use a basic meal, but I figured out how to get it to use an existing user meal.
You can create a stream through the code, if you want, or create it manually in the YouTube interface.
Once this is done, you will need to get the stream ID stream that you want to associate with the new translation you created; I could not say how to find out this information through the YouTube interface so that you could do it using the API.
You can use the following code to get a list of threads using the method:
// Execute an API request that lists the streams owned by the user who // authorized the request. $streamsResponse = $this->youtube->liveStreams->listLiveStreams('id,snippet', array( 'mine' => 'true', )); $htmlBody .= "<h3>Live Streams</h3><ul>"; foreach ($streamsResponse['items'] as $streamItem) { $htmlBody .= sprintf('<li>%s (%s)</li>', $streamItem['snippet']['title'], $streamItem['id']); } $htmlBody .= '</ul>';
Please note that the above code is a stub; You can see the full example in the linked list method above; basically you will still need to call Google_Client , Google_Service_YouTube and make sure you have a valid access token, etc.
Once you have the thread id that you should get through the process above; you can do something like below to use that particular thread you want:
// Create an object for the liveBroadcast resource snippet. Specify values // for the snippet title, scheduled start time, and scheduled end time. $broadcastSnippet = new Google_Service_YouTube_LiveBroadcastSnippet(); $broadcastSnippet->setTitle($this->title); $broadcastSnippet->setDescription($this->desc); $broadcastSnippet->setScheduledStartTime($this->start_time); // Create an object for the liveBroadcast resource status, and set the // broadcast status. $status = new Google_Service_YouTube_LiveBroadcastStatus(); $status->setPrivacyStatus($this->privacy_status); // Create the API request that inserts the liveBroadcast resource. $broadcastInsert = new Google_Service_YouTube_LiveBroadcast(); $broadcastInsert->setSnippet($broadcastSnippet); $broadcastInsert->setStatus($status); $broadcastInsert->setKind('youtube#liveBroadcast'); // Execute the request and return an object that contains information // about the new broadcast. $broadcastsResponse = $this->youtube->liveBroadcasts->insert('snippet,status', $broadcastInsert, array()); // Bind the broadcast to the live stream. $bindBroadcastResponse = $this->youtube->liveBroadcasts->bind( $broadcastsResponse['id'], 'id,contentDetails', array( 'streamId' => 'stream_id_here', // <-- Insert your stream ID here ));
Again, the above code is a stub.
So basically the bottom line is - if you have your own thread id that you want to use, you can completely remove the creation of the thread code, and then just pass the thread id, which should already be in the bind method call, and you should be good.
Hope this helps someone else.