Engineering and Developers Blog
What's happening with engineering and developers at YouTube
YouTube Captions Uploader Web App
Thursday, January 27, 2011
Captions can greatly enhance the experience of viewing a YouTube video, and the YouTube API has offered developers ways to
upload
and
retrieve
caption data in authorized requests for a while now. However, the various YouTube API
client libraries
don’t natively support interacting with captions at this time, and writing your own code for uploading or retrieving captions can be challenging.
With that in mind, we're happy to announce the
YouTube Captions Uploader
open source project on Google Code, which provides real-world code for uploading captions to YouTube. The code is written for the Java App Engine environment, and it uses some nifty new App Engine features like the
Channel API
, the
Blobstore Service
, and
Task Queues
. And even if you're not an App Engine developer, we hope that the
code
that interacts with the YouTube API's captions service will provide a good starting point for writing your own code.
In addition to open sourcing the code for this project, we’re also running the code itself on a public App Engine instance,
http://yt-captions-uploader.appspot.com/
. So, even if you're not a developer, you can still use the application to upload captions for videos in your YouTube account.
Please share your comments or feedback via the project’s
issue tracker
. We hope that you find it useful both as a standalone web application and as a starting point for writing your own code!
Cheers,
—Jeff Posnick, YouTube API Team
Java YouTube Developers: Update Your Libraries
Monday, May 17, 2010
If you access the YouTube API via Java using the
official Google Data Client Library
, we want to let you know about upcoming changes to the YouTube API that may affect your existing code. Developers who are using a client library in a language other than Java, or who use Java but access the YouTube API without using the Google Data Client Library will not be affected by this change.
Versions of the Java Google Data Client Library
earlier than 1.41.2
(the most recent release as of this writing) are particularly picky about the data they receive back from the YouTube API and deserialize into Java objects. If our YouTube API servers are updated to start including an additional attribute for an existing element in their Atom XML responses, older versions of the Java client library will throw a deserialization exception complaining about this extra data. While this might be considered beneficial in some contexts, it unfortunately precludes our ability to extend the YouTube API’s functionality by returning back new data in its responses. We
recently
ran into this issue while trying to launch a new
totalUploadViews
attribute, for instance.
We removed the
totalUploadViews
attribute soon after adding it, but progress can’t be delayed forever. If you’re using the Java Google Data Client Library, we strongly recommend that you
update your installation
to the 1.41.2 (or newer) release. We plan on re-adding the
totalUploadViews
attribute in
mid-July
, and other new attributes may follow. If you haven’t updated to a compatible version of the Java client library by mid-July, your existing Java code will start throwing exceptions when you retrieve an Atom XML response containing the new attribute, such as a request for a user’s YouTube profile.
A special note to developers using
YouTube Direct
: because YouTube Direct is built on top of the Java client library, it also needs to be updated to use a compatible release. The
latest archived downloads
of the source code for both the 1.0 and 2.0 releases, as well as the SVN source, have been updated for compatibility. Please take the time to update your YouTube Direct deployment in App Engine before mid-July.
Cheers,
—Jeff Posnick, YouTube API Team
YouTube is hiring! ~
http://google.com/jobs/workyoutube
Labels
.net
360
acceleration
access control
accessibility
actionscript
activities
activity
android
announcements
apis
app engine
appengine
apps script
as2
as3
atom
authentication
authorization
authsub
best practices
blackops
blur faces
bootcamp
captions
categories
channels
charts
chrome
chromeless
client library
clientlibraries
clientlogin
code
color
comments
compositing
create
curation
custom player
decommission
default
deprecation
devs
direct
discovery
docs
Documentation RSS
dotnet
education
embed
embedding
events
extension
feeds
flash
format
friendactivity
friends
fun
gears
google developers live
google group
googlegamedev
googleio
html5
https
iframe
insight
io12
io2011
ios
iphone
irc
issue tracker
java
javascript
json
json-c
jsonc
knight
legacy
Live Streaming API
LiveBroadcasts API
logo
machine learning
mashups
media:keywords keywords tags metadata
metadata
mobile
mozilla
NAB 2016
news
oauth
oauth2
office hours
open source
partial
partial response
partial update
partners
patch
php
player
playlists
policy
previews
pubsubhubbub
push
python
quota
rails
releases
rendering
reports
responses
resumable
ruby
samples
sandbox
shortform
ssl https certificate staging stage
stack overflow
stage video
staging
standard feeds
storify
storyful
subscription
sup
Super Chat API
survey
tdd
theme
tos
tutorials
updates
uploads
v2
v3
video
video files
video transcoding
virtual reality
voting
VR
watch history
watchlater
webvtt
youtube
youtube api
YouTube Data API
youtube developers live
youtube direct
YouTube IFrame Player API
YouTube live
YouTube Reporting API
ytd
Archive
2018
Aug
Apr
2017
Nov
Sep
Aug
Mar
Jan
2016
Nov
Oct
Aug
May
Apr
2015
Dec
Nov
Oct
May
Apr
Mar
Jan
2014
Oct
Sep
Aug
May
Mar
2013
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2012
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2007
Dec
Nov
Aug
Jun
May
Feed
YouTube
on
Follow @youtubedev