<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Google Data &#187; Jeffrey Posnick</title>
	<atom:link href="/author/jeffrey-posnick/feed/" rel="self" type="application/rss+xml" />
	<link>https://googledata.org</link>
	<description>Everything Google: News, Products, Services, Content, Culture</description>
	<lastBuildDate>Thu, 19 Mar 2015 21:59:04 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.5</generator>
	<item>
		<title>Committing to the YouTube Data API v3</title>
		<link>https://googledata.org/youtube-api/committing-to-the-youtube-data-api-v3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=committing-to-the-youtube-data-api-v3</link>
		<comments>https://googledata.org/youtube-api/committing-to-the-youtube-data-api-v3/#comments</comments>
		<pubDate>Tue, 04 Mar 2014 21:52:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c4f47dcbcfaa8b859a4c9ceabed7caa7</guid>
		<description><![CDATA[<div dir="ltr"><span>Since the YouTube Data API v3 </span><a href="http://apiblog.youtube.com/2012/12/the-simpler-yet-more-powerful-new.html"><span>launch</span></a><span> in 2012, many of you have used the v3 API to create integrations like </span><a href="https://developers.google.com/showcase/#tags=youtubeapi&#38;item=Next+Big+Sound"><span>Next Big Sound</span></a><span> and </span><a href="https://developers.google.com/showcase/#tags=youtubeapi&#38;item=Interesante"><span>Interesante</span></a><span>.</span></div><b><br /><span></span></b><div dir="ltr"><span>The YouTube Data API v3 is now on the list of APIs identified in our deprecation policy, which means we will notify developers a year in advance before deprecating v3. Note, however, that some specific v3 features are excluded from this notice requirement. You can find the list </span><a href="https://developers.google.com/youtube/youtube-api-list"><span>here</span></a><span>. As a reminder, v3 gives you the ability to get information about </span><a href="https://developers.google.com/freebase/"><span>Freebase</span></a><span> topics associated with the videos, more search features, improved client libraries support and much more.</span></div><b><br /><span></span></b><div dir="ltr"><span>To focus on improving v3, it&#8217;s time to say goodbye to our old friend, v2. In keeping with </span><a href="http://apiblog.youtube.com/2012/04/update-to-our-deprecation-policy.html"><span>deprecation policy</span></a><span>, </span><span>most API functionality will remain available for use until April 20, 2015, </span><span>so you have more than a year to move to the new API. See the </span><a href="https://developers.google.com/youtube/terms#deprecation"><span>deprecation policy</span></a><span> in the Terms of Service for more details. </span></div><b><br /><span></span></b><div dir="ltr"><span>While v3 offers the majority of v2 functionality, there are currently a couple of tasks that can only be done with the older API. Specifically, applications that manage </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_captions"><span>captions</span></a><span> or that work with </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_comments"><span>video comments</span></a><span> still need to use the v2 API until modern equivalents are available. Our goal is to provide similar functionality well before the April 2015 shut-off date&#8212;please </span><a href="http://youtubeapi.blogspot.com/atom.xml"><span>subscribe</span></a><span> to this blog, the YouTube Data API v3 </span><a href="https://developers.google.com/youtube/v3/revision_history"><span>revision history page</span></a><span>, or follow </span><a href="https://plus.google.com/+YouTubeDev"><span>+YouTubeDev</span></a><span> on Google+ to keep up-to-date.</span></div><b><br /><span></span></b><div dir="ltr"><span>If you&#8217;re a v2 developer who&#8217;s looking for help migrating to v3, the best place to start is with our </span><a href="https://developers.google.com/youtube/v3/"><span>documentation</span></a><span> and </span><a href="https://developers.google.com/youtube/2.0/deprecation_faq"><span>FAQs</span></a><span>. We've also made several videos that explain v3 concepts, such as </span><a href="https://developers.google.com/youtube/registering_an_application"><span>registering for API access</span></a><span> and </span><a href="https://developers.google.com/youtube/v3/guides/authentication"><span>handling authorization with OAuth 2.0</span></a><span>.</span></div><b><br /><span></span></b><div dir="ltr"><br /></div><br /><b><br /><span></span></b><div dir="ltr"><span>Cheers,</span></div><div dir="ltr"><span>&#8212;</span><a href="https://plus.google.com/+jeffposnick"><span>Jeff Posnick</span></a><span>, </span><span><a href="https://plus.google.com/+YouTubeDev">YouTube API Team</a></span></div>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Since the YouTube Data API v3 </span><a href="http://apiblog.youtube.com/2012/12/the-simpler-yet-more-powerful-new.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">launch</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in 2012, many of you have used the v3 API to create integrations like </span><a href="https://developers.google.com/showcase/#tags=youtubeapi&amp;item=Next+Big+Sound" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Next Big Sound</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/showcase/#tags=youtubeapi&amp;item=Interesante" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Interesante</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div><b id="docs-internal-guid-2a09f5bb-8ef5-09df-4904-9bf8faf55328" style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube Data API v3 is now on the list of APIs identified in our deprecation policy, which means we will notify developers a year in advance before deprecating v3. Note, however, that some specific v3 features are excluded from this notice requirement. You can find the list </span><a href="https://developers.google.com/youtube/youtube-api-list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. As a reminder, v3 gives you the ability to get information about </span><a href="https://developers.google.com/freebase/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Freebase</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> topics associated with the videos, more search features, improved client libraries support and much more.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To focus on improving v3, it’s time to say goodbye to our old friend, v2. In keeping with </span><a href="http://apiblog.youtube.com/2012/04/update-to-our-deprecation-policy.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">deprecation policy</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">most API functionality will remain available for use until April 20, 2015, </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">so you have more than a year to move to the new API. See the </span><a href="https://developers.google.com/youtube/terms#deprecation" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">deprecation policy</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in the Terms of Service for more details. </span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">While v3 offers the majority of v2 functionality, there are currently a couple of tasks that can only be done with the older API. Specifically, applications that manage </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_captions" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">captions</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> or that work with </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_comments" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">video comments</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> still need to use the v2 API until modern equivalents are available. Our goal is to provide similar functionality well before the April 2015 shut-off date—please </span><a href="http://youtubeapi.blogspot.com/atom.xml" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">subscribe</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to this blog, the YouTube Data API v3 </span><a href="https://developers.google.com/youtube/v3/revision_history" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">revision history page</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, or follow </span><a href="https://plus.google.com/+YouTubeDev" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">+YouTubeDev</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> on Google+ to keep up-to-date.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you’re a v2 developer who’s looking for help migrating to v3, the best place to start is with our </span><a href="https://developers.google.com/youtube/v3/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">documentation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/youtube/2.0/deprecation_faq" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">FAQs</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. We've also made several videos that explain v3 concepts, such as </span><a href="https://developers.google.com/youtube/registering_an_application" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">registering for API access</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/youtube/v3/guides/authentication" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">handling authorization with OAuth 2.0</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><br /></div><iframe width="560" height="315" src="http://www.youtube.com/embed/videoseries?list=PLhBgTdAWkxeCL3bUv6NLGrg2248ryIUAD" frameborder="0" allowfullscreen></iframe><br /><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span></div><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/+jeffposnick" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><a href="https://plus.google.com/+YouTubeDev" style="text-decoration: none;">YouTube API Team</a></span></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/committing-to-the-youtube-data-api-v3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Making stories with social media and YouTube videos</title>
		<link>https://googledata.org/youtube-api/making-stories-with-social-media-and-youtube-videos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-stories-with-social-media-and-youtube-videos</link>
		<comments>https://googledata.org/youtube-api/making-stories-with-social-media-and-youtube-videos/#comments</comments>
		<pubDate>Thu, 27 Feb 2014 15:18:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=3df73169cf3e591c30465275b8f95da2</guid>
		<description><![CDATA[<img src="http://3.bp.blogspot.com/-0UwV_YZyzOU/TcggmCEsoII/AAAAAAAAAZE/rVhmFnXi7lU/s1600/Xavier%2BDamman%2Blarge.png" height="80"><br /><em>By <a href="http://xavierdamman.be/">Xavier Damman</a>, co-founder of <a href="http://storify.com/">Storify</a></em><br /><br /><em>(Cross-posted from the <a href="http://googlecode.blogspot.com/2011/05/making-stories-with-social-media-and.html">Google Code blog</a>, where the post is part of <a href="http://googlecode.blogspot.com/search/label/Who%27s%20at%20Google%20I%2FO">Who's at Google I/O</a>, a series of guest blog posts written by developers who are appearing in the <a href="http://www.google.com/events/io/2011/sandbox.html">Developer Sandbox</a> at <a href="http://www.google.com/events/io/2011/">Google I/O</a>.)</em><br /><br /><br /><a href="http://storify.com/">Storify</a> is part of the <a href="http://www.google.com/events/io/2011/sandbox.html">Google I/O Sandbox</a>. Please come say hi to find out more about how you can leverage our APIs so your users can remix your content to create stories to share on social networks.<br /><br />Storify provides a super simple drag and drop user experience to create stories using elements from the web: tweets, YouTube videos, Facebook updates, <a href="http://www.slideshare.net/">SlideShare</a> presentations, <a href="http://audioboo.fm/">audioboo</a> files, and so on (<a href="http://www.youtube.com/watch?v=Yy_rUsQpE2U">see Storify in action here</a>). This post explains how we incorporate videos in Storify using <a href="http://code.google.com/apis/youtube/getting_started.html#data_api">YouTube Data API</a> and <a href="http://code.google.com/apis/youtube/getting_started.html#player_apis">Player API</a>. All the code snippets are in JavaScript. In fact, our full stack is in JavaScript: we use <a href="http://nodejs.org/">NodeJS</a> and <a href="http://www.mongodb.org/">MongoDB</a> which we think is an &#252;ber cool mix.<br /><br /><div><a href="http://www.storify.com/"><img src="http://3.bp.blogspot.com/-ss_BeAv5z7o/Tcgpr-YBvCI/AAAAAAAAAZM/t_8ueDGglq0/s1600/image01.png" width="500"></a></div><br /><b>The source of the source</b><br /><br />To create a Storify source, we need to be able to get a feed of results using <a href="http://en.wikipedia.org/wiki/JSONP">JSONp</a> (basically JSON with a callback function so that you can do cross domain calls; from the YouTube API perspective this is the <a href="http://code.google.com/apis/youtube/2.0/developers_guide_jsonc.html">JSON-C</a> format). For YouTube, the main search API endpoint looks like this:<br /><pre>request: function(formdata) {<br />   return {<br />      'url' : 'http://gdata.youtube.com/feeds/api/videos',<br />      'params': {<br />         'v'  : 2,<br />         'max-results' : 20,<br />         'alt'  : 'jsonc',<br />         'q'  : formdata.keywords<br />       }<br />    };<br />  }<br /></pre>This function is called when the user clicks Submit in the search tab of the YouTube source in the Storify Editor. The main controller executes the request and sends the JSON result to the results method, which returns an array of normalized results:<br /><pre>results: function(json) {<br /><br />  if (json.data &#38;&#38; json.data.totalItems &#38;&#38; json.data.totalItems == 0) {<br />    throw "No results found";<br />    }<br /><br />  var videos = json.data.items;<br />  var results_array = [];<br /><br />  for (var i = 0; i &#60; videos.length; i++) {<br />        var normalizedResult = {<br />           permalink   : 'http://www.youtube.com/watch?v='+videos[i].id,<br />           source  : 'youtube',<br />           elementClass : 'video',<br />           metadata  : videos[i],<br />           thumbnail   : videos[i].thumbnail.sqDefault,<br />           title: videos[i].title,<br />           description  : videos[i].description.substr(0,140),<br />           author: {username: videos[i].uploader },<br />           created_at  : videos[i].uploaded,<br />           oembed: {html: '&#60;iframe id="youtube-'+videos[i].id+'" type="text/html" width="360" height="294" src="http://www.youtube.com/embed/'+videos[i].id+'?enablejsapi=1&#38;origin=storify.com" frameborder="0"&#62;'<br />           }};<br /><br />           results_array.push(normalizedResult);<br />  }<br />  return results_array;<br />}<br /></pre><br />Thanks to this normalized representation of a story element &#8211; in this case, it&#8217;s a video object &#8211; we can build an object-oriented story as the user drags and drops any of these elements. This technique has multiple benefits: we maintain attribution to the original content creator, and we can track the content as it spreads across the web (how many times it has been seen and from where).<br /><br />The story element also provides the oEmbed HTML code. This is used to render the video embed when the video is added to the story. For that purpose we use the <a href="http://code.google.com/apis/youtube/iframe_api_reference.html">YouTube Player API with their new iframe embed</a>.<br /><br /><b>Story.json</b><br /><br />We have a very simple way to get any data out of our platform: just append .json to any <a href="http://storify.com/">storify.com</a> URL and you get the JSON representation of the content of that page.<br /><br />For example:<br /><ul><li><a href="http://storify.com/latest.json?topic=googleio">http://storify.com/latest.json?topic=googleio</a> returns the latest stories with the tag <code>#googleio</code></li>. <li><a href="http://storify.com/xdamman.json">http://storify.com/xdamman.json</a> returns the user object and the user&#8217;s latest stories.</li><li><a href="http://storify.com/xdamman/googleio.json">http://storify.com/xdamman/googleio.json</a> returns the story object of the story &#8220;GoogleIO&#8221; of xdamman. You can use this to  easily filter the elements of the story to retrieve only the YouTube videos of a given story and create a fancy HTML5 visualization (see the <a href="http://storify.com/xdamman/googleio/slideshow">slideshow</a> or <a href="http://storify.com/xdamman/googleio/kenburns">this version</a>). You can see some open source examples at <a href="https://github.com/storify/templates">http://github.com/storify/templates</a>.</li></ul><br /><b>Add the Storify Editor to your site</b><br /><br />The Storify Editor can be called in an iframe. You just need to provide a callback parameter, like this: <code>http://storify.com/story/new?callback=yoursiteurlcallback</code>. The user will be asked to authenticate with Twitter and then will be able to create a new story. Once the user is done and hits &#8220;Publish&#8221;, we call you back, passing you the permalink of the new story created:<br /><code>yoursiteurlcallback?permalink=storyPermalink</code>.<br /><br />You can then either fetch the JSON of the story by appending &#8220;.json&#8221; to the <code>storyPermalink</code> or you can embed the story by loading <code>&#60;script src=&#8221;storyPermalink.js&#8221;&#62;&#60;/script&#62;</code>. This is a great way to provide your community with a way to create stories right from your site.<br /> This is only the start. We plan to open a Sources API so that any developer can build a source for any service.  Please come see us at our booth at the <a href="http://www.google.com/events/io/2011/sandbox.html">Google I/O Sandbox</a> if you&#8217;re interested in joining our developer community. And check out this <a href="http://www.nytimes.com/2011/04/25/technology/internet/25storify.html?_r=1">article in the New York Times</a> to learn more.<br /><br /><br /><em>Come see <a href="http://www.storify.com/">Storify</a> in the <a href="http://www.google.com/events/io/2011/sandbox.html">Developer Sandbox</a> at <a href="http://www.google.com/events/io/2011/">Google I/O</a> on May 10-11.</em><br /><br /><em><a href="http://twitter.com/xdamman">Xavier Damman</a> is the co-founder of <a href="http://www.storify.com/">Storify</a>. He is also the founder of <a href="http://hackdemocracy.org/">HackDemocracy</a>, a community of hackers who want to improve our democracies using technology.</em>]]></description>
				<content:encoded><![CDATA[<img src="http://3.bp.blogspot.com/-0UwV_YZyzOU/TcggmCEsoII/AAAAAAAAAZE/rVhmFnXi7lU/s1600/Xavier%2BDamman%2Blarge.png" height="80" style="float: right; margin-left: 1em; text-align: right;" /><br /><em>By <a href="http://xavierdamman.be/">Xavier Damman</a>, co-founder of <a href="http://storify.com/">Storify</a></em><br /><br /><em>(Cross-posted from the <a href="http://googlecode.blogspot.com/2011/05/making-stories-with-social-media-and.html">Google Code blog</a>, where the post is part of <a href="http://googlecode.blogspot.com/search/label/Who%27s%20at%20Google%20I%2FO">Who's at Google I/O</a>, a series of guest blog posts written by developers who are appearing in the <a href="http://www.google.com/events/io/2011/sandbox.html">Developer Sandbox</a> at <a href="http://www.google.com/events/io/2011/">Google I/O</a>.)</em><br /><br /><br /><a href="http://storify.com/">Storify</a> is part of the <a href="http://www.google.com/events/io/2011/sandbox.html">Google I/O Sandbox</a>. Please come say hi to find out more about how you can leverage our APIs so your users can remix your content to create stories to share on social networks.<br /><br />Storify provides a super simple drag and drop user experience to create stories using elements from the web: tweets, YouTube videos, Facebook updates, <a href="http://www.slideshare.net/">SlideShare</a> presentations, <a href="http://audioboo.fm/">audioboo</a> files, and so on (<a href="http://www.youtube.com/watch?v=Yy_rUsQpE2U">see Storify in action here</a>). This post explains how we incorporate videos in Storify using <a href="http://code.google.com/apis/youtube/getting_started.html#data_api">YouTube Data API</a> and <a href="http://code.google.com/apis/youtube/getting_started.html#player_apis">Player API</a>. All the code snippets are in JavaScript. In fact, our full stack is in JavaScript: we use <a href="http://nodejs.org/">NodeJS</a> and <a href="http://www.mongodb.org/">MongoDB</a> which we think is an über cool mix.<br /><br /><div style="margin-left: 1em; margin-right: 1em;"><a href="http://www.storify.com/"><img src="http://3.bp.blogspot.com/-ss_BeAv5z7o/Tcgpr-YBvCI/AAAAAAAAAZM/t_8ueDGglq0/s1600/image01.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" width="500" /></a></div><br /><b>The source of the source</b><br /><br />To create a Storify source, we need to be able to get a feed of results using <a href="http://en.wikipedia.org/wiki/JSONP">JSONp</a> (basically JSON with a callback function so that you can do cross domain calls; from the YouTube API perspective this is the <a href="http://code.google.com/apis/youtube/2.0/developers_guide_jsonc.html">JSON-C</a> format). For YouTube, the main search API endpoint looks like this:<br /><pre>request: function(formdata) {<br />   return {<br />      'url' : 'http://gdata.youtube.com/feeds/api/videos',<br />      'params': {<br />         'v'  : 2,<br />         'max-results' : 20,<br />         'alt'  : 'jsonc',<br />         'q'  : formdata.keywords<br />       }<br />    };<br />  }<br /></pre>This function is called when the user clicks Submit in the search tab of the YouTube source in the Storify Editor. The main controller executes the request and sends the JSON result to the results method, which returns an array of normalized results:<br /><pre>results: function(json) {<br /> <br />  if (json.data &amp;&amp; json.data.totalItems &amp;&amp; json.data.totalItems == 0) {<br />    throw "No results found";<br />    }<br />  <br />  var videos = json.data.items;<br />  var results_array = [];<br /><br />  for (var i = 0; i &lt; videos.length; i++) {<br />        var normalizedResult = {<br />           permalink   : 'http://www.youtube.com/watch?v='+videos[i].id,<br />           source  : 'youtube',<br />           elementClass : 'video',<br />           metadata  : videos[i],<br />           thumbnail   : videos[i].thumbnail.sqDefault,<br />           title: videos[i].title,<br />           description  : videos[i].description.substr(0,140),<br />           author: {username: videos[i].uploader },<br />           created_at  : videos[i].uploaded,<br />           oembed: {html: '&lt;iframe id="youtube-'+videos[i].id+'" type="text/html" width="360" height="294" src="http://www.youtube.com/embed/'+videos[i].id+'?enablejsapi=1&amp;origin=storify.com" frameborder="0"&gt;'<br />           }};<br />     <br />           results_array.push(normalizedResult);<br />  }<br />  return results_array;<br />}<br /></pre><br />Thanks to this normalized representation of a story element – in this case, it’s a video object – we can build an object-oriented story as the user drags and drops any of these elements. This technique has multiple benefits: we maintain attribution to the original content creator, and we can track the content as it spreads across the web (how many times it has been seen and from where).<br /><br />The story element also provides the oEmbed HTML code. This is used to render the video embed when the video is added to the story. For that purpose we use the <a href="http://code.google.com/apis/youtube/iframe_api_reference.html">YouTube Player API with their new iframe embed</a>.<br /><br /><b>Story.json</b><br /><br />We have a very simple way to get any data out of our platform: just append .json to any <a href="http://storify.com/">storify.com</a> URL and you get the JSON representation of the content of that page.<br /><br />For example:<br /><ul><li><a href="http://storify.com/latest.json?topic=googleio">http://storify.com/latest.json?topic=googleio</a> returns the latest stories with the tag <code>#googleio</code></li>. <li><a href="http://storify.com/xdamman.json">http://storify.com/xdamman.json</a> returns the user object and the user’s latest stories.</li><li><a href="http://storify.com/xdamman/googleio.json">http://storify.com/xdamman/googleio.json</a> returns the story object of the story “GoogleIO” of xdamman. You can use this to  easily filter the elements of the story to retrieve only the YouTube videos of a given story and create a fancy HTML5 visualization (see the <a href="http://storify.com/xdamman/googleio/slideshow">slideshow</a> or <a href="http://storify.com/xdamman/googleio/kenburns">this version</a>). You can see some open source examples at <a href="https://github.com/storify/templates">http://github.com/storify/templates</a>.</li></ul><br /><b>Add the Storify Editor to your site</b><br /><br />The Storify Editor can be called in an iframe. You just need to provide a callback parameter, like this: <code>http://storify.com/story/new?callback=yoursiteurlcallback</code>. The user will be asked to authenticate with Twitter and then will be able to create a new story. Once the user is done and hits “Publish”, we call you back, passing you the permalink of the new story created:<br /><code>yoursiteurlcallback?permalink=storyPermalink</code>.<br /><br />You can then either fetch the JSON of the story by appending “.json” to the <code>storyPermalink</code> or you can embed the story by loading <code>&lt;script src=”storyPermalink.js”&gt;&lt;/script&gt;</code>. This is a great way to provide your community with a way to create stories right from your site.<br /> This is only the start. We plan to open a Sources API so that any developer can build a source for any service.  Please come see us at our booth at the <a href="http://www.google.com/events/io/2011/sandbox.html">Google I/O Sandbox</a> if you’re interested in joining our developer community. And check out this <a href="http://www.nytimes.com/2011/04/25/technology/internet/25storify.html?_r=1">article in the New York Times</a> to learn more.<br /><br /><br /><em>Come see <a href="http://www.storify.com/">Storify</a> in the <a href="http://www.google.com/events/io/2011/sandbox.html">Developer Sandbox</a> at <a href="http://www.google.com/events/io/2011/">Google I/O</a> on May 10-11.</em><br /><br /><em><a href="http://twitter.com/xdamman">Xavier Damman</a> is the co-founder of <a href="http://www.storify.com/">Storify</a>. He is also the founder of <a href="http://hackdemocracy.org/">HackDemocracy</a>, a community of hackers who want to improve our democracies using technology.</em>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/making-stories-with-social-media-and-youtube-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>What to watch? Our APIs can help!</title>
		<link>https://googledata.org/youtube-api/what-to-watch-our-apis-can-help/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-to-watch-our-apis-can-help</link>
		<comments>https://googledata.org/youtube-api/what-to-watch-our-apis-can-help/#comments</comments>
		<pubDate>Thu, 12 Sep 2013 19:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0da6d6efc1828c3889c6befbbc041ed2</guid>
		<description><![CDATA[<div dir="ltr"><span>It&#8217;s an age-old question: what to watch? Applications that integrate with YouTube have access to countless hours of videos, and, as a developer, you have an interest in helping your users find the videos and channel most relevant to them. This blog post will walk you through a few ways that you can use the </span><a href="https://developers.google.com/youtube/v3/"><span>latest YouTube Data API</span></a><span> to discover great content.</span><br /><span><br /></span></div><b><span></span></b> <div dir="ltr"><span>If you have an </span><a href="https://developers.google.com/youtube/v3/guides/authentication"><span>OAuth 2 token</span></a><span> for the current user, your application can make a call to </span><a href="https://developers.google.com/youtube/v3/docs/activities/list"><span>youtube.activities.list(part=&#8221;snippet&#8221;, home=true)</span></a><span> to get back a list of videos and channels similar to the recommendations that the user would see on the YouTube.com home page. These results are customized for each individual user, and the list is kept fresh automatically, so it&#8217;s a great way to present your users with content they&#8217;re likely to enjoy.</span><br /><span><br /></span></div><b><span></span></b> <div dir="ltr"><span>Even if your users are not logged in, there are still are a few charts and guides at your disposal to aid in discovery.</span><br /><span><br /></span></div><b><span></span></b> <div dir="ltr"><span>To find popular videos your users might want to watch, </span><a href="https://developers.google.com/youtube/v3/docs/videos/list"><span>youtube.videos.list(part=&#8221;snippet&#8221;, chart=&#8221;mostPopular&#8221;)</span></a><span> is the basic API call to use. By default, it will return a list of videos in any category that are considered popular globally. If this is too broad a list, though, you can narrow things down using the </span><a href="https://developers.google.com/youtube/v3/docs/videos/list#regionCode"><span>regionCode</span></a><span> or </span><a href="https://developers.google.com/youtube/v3/docs/videos/list#videoCategoryId"><span>videoCategoryId</span></a><span> (or both) parameters. </span><span>regionCode</span><span> can be set to a </span><a href="http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm"><span>two-letter country code</span></a><span> to retrieve a list of videos popular in that specific country (though not every country is currently supported). </span><span>videoCategoryId</span><span> needs to be set to an ID corresponding to one of our existing video categories&#8212;you can retrieve a list of valid categories and their corresponding IDs via </span><a href="https://developers.google.com/youtube/v3/docs/videoCategories/list"><span>youtube.videoCategories.list(part=&#8221;snippet&#8221;, regionCode=&#8221;</span><span>XX</span><span>&#8221;)</span></a><span>, where &#8220;</span><span>XX</span><span>&#8221; is also a two-letter country code.</span><br /><span><br /></span></div><b><span></span></b> <div dir="ltr"><span>There&#8217;s an analogous set of API calls that you could make to find channels your users might be interested in. </span><a href="https://developers.google.com/youtube/v3/docs/guideCategories/list"><span>youtube.guideCategories.list(part=&#8221;snippet&#8221;, regionCode=&#8221;</span><span>XX</span><span>&#8221;)</span></a><span> will return a list of all the channel categories that are available in a given country. Once a user has chosen a category, you can get back a list of the most relevant channels in that category via a call to </span><a href="https://developers.google.com/youtube/v3/docs/channels/list"><span>youtube.channels.list(part=&#8221;snippet&#8221;, categoryId=&#8221;</span><span>CATEGORY_ID</span><span>&#8221;)</span></a><span>, where &#8220;</span><span>CATEGORY_ID</span><span>&#8221; is the ID of the guide category you&#8217;re interested in. At that point, you could display a list of the most recent videos associated with each channel, and give your users the option of subscribing (assuming they grant OAuth 2 authorization first).</span><br /><span><br /></span></div><b><span></span></b> <div dir="ltr"><span>All of these examples assume that you&#8217;re using the latest version of the </span><a href="https://developers.google.com/youtube/v3/"><span>YouTube Data API, v3</span></a><span>. Developers still using the Data API v1 or v2 should be aware of some recent changes to our older content discovery mechanism, standard feeds. </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_video_feeds#Standard_feeds"><span>As explained in the documentation</span></a><span>, all of the previous different types of standard feeds are now returning the equivalent of the </span><span>most_popular</span><span> feed, with the </span><span>time</span><span> parameter set to &#8220;today&#8221;. If you are still using v1 or v2, there&#8217;s no time like the present (</span><span>time=&#8221;today&#8221;</span><span>, if you will) to make the switch to v3.</span><br /><span><br /></span><b><span>Update</span><span>:</span></b><span> For a walkthrough and demos of all the API calls, please watch this episode of YouTube Developers Live:</span></div><br /><b><br /><span></span></b><br /><div dir="ltr"><span>Cheers,</span></div><div dir="ltr"><span>&#8212;</span><a href="https://plus.google.com/+jeffposnick"><span>Jeff Posnick</span></a><span>, </span><span><a href="https://plus.google.com/+YouTubeDev">YouTube API Team</a></span><span></span></div><div><br /></div>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It’s an age-old question: what to watch? Applications that integrate with YouTube have access to countless hours of videos, and, as a developer, you have an interest in helping your users find the videos and channel most relevant to them. This blog post will walk you through a few ways that you can use the </span><a href="https://developers.google.com/youtube/v3/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">latest YouTube Data API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to discover great content.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><b id="docs-internal-guid-0689f81c-138a-b78a-a767-bebe1b9b0218" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you have an </span><a href="https://developers.google.com/youtube/v3/guides/authentication" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">OAuth 2 token</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> for the current user, your application can make a call to </span><a href="https://developers.google.com/youtube/v3/docs/activities/list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">youtube.activities.list(part=”snippet”, home=true)</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to get back a list of videos and channels similar to the recommendations that the user would see on the YouTube.com home page. These results are customized for each individual user, and the list is kept fresh automatically, so it’s a great way to present your users with content they’re likely to enjoy.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><b style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Even if your users are not logged in, there are still are a few charts and guides at your disposal to aid in discovery.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><b style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To find popular videos your users might want to watch, </span><a href="https://developers.google.com/youtube/v3/docs/videos/list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">youtube.videos.list(part=”snippet”, chart=”mostPopular”)</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> is the basic API call to use. By default, it will return a list of videos in any category that are considered popular globally. If this is too broad a list, though, you can narrow things down using the </span><a href="https://developers.google.com/youtube/v3/docs/videos/list#regionCode" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">regionCode</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> or </span><a href="https://developers.google.com/youtube/v3/docs/videos/list#videoCategoryId" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">videoCategoryId</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (or both) parameters. </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">regionCode</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> can be set to a </span><a href="http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">two-letter country code</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to retrieve a list of videos popular in that specific country (though not every country is currently supported). </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">videoCategoryId</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> needs to be set to an ID corresponding to one of our existing video categories—you can retrieve a list of valid categories and their corresponding IDs via </span><a href="https://developers.google.com/youtube/v3/docs/videoCategories/list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">youtube.videoCategories.list(part=”snippet”, regionCode=”</span><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">XX</span><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">”)</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, where “</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">XX</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">” is also a two-letter country code.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><b style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There’s an analogous set of API calls that you could make to find channels your users might be interested in. </span><a href="https://developers.google.com/youtube/v3/docs/guideCategories/list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">youtube.guideCategories.list(part=”snippet”, regionCode=”</span><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">XX</span><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">”)</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> will return a list of all the channel categories that are available in a given country. Once a user has chosen a category, you can get back a list of the most relevant channels in that category via a call to </span><a href="https://developers.google.com/youtube/v3/docs/channels/list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">youtube.channels.list(part=”snippet”, categoryId=”</span><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">CATEGORY_ID</span><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">”)</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, where “</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">CATEGORY_ID</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">” is the ID of the guide category you’re interested in. At that point, you could display a list of the most recent videos associated with each channel, and give your users the option of subscribing (assuming they grant OAuth 2 authorization first).</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><b style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">All of these examples assume that you’re using the latest version of the </span><a href="https://developers.google.com/youtube/v3/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Data API, v3</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Developers still using the Data API v1 or v2 should be aware of some recent changes to our older content discovery mechanism, standard feeds. </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_video_feeds#Standard_feeds" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">As explained in the documentation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, all of the previous different types of standard feeds are now returning the equivalent of the </span><span style="background-color: transparent; color: black; font-family: Courier New, Courier, monospace; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">most_popular</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> feed, with the </span><span style="background-color: transparent; color: black; font-family: Courier New, Courier, monospace; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">time</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> parameter set to “today”. If you are still using v1 or v2, there’s no time like the present (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">time=”today”</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, if you will) to make the switch to v3.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span><b><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Update</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">:</span></b><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> For a walkthrough and demos of all the API calls, please watch this episode of YouTube Developers Live:</span></div><br /><iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/LcrG0_XTO9o" width="420"></iframe><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span></div><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/+jeffposnick" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><a href="https://plus.google.com/+YouTubeDev" style="text-decoration: none;">YouTube API Team</a></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></div><div><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/what-to-watch-our-apis-can-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google+ page identities and the YouTube API</title>
		<link>https://googledata.org/uncategorized/google-page-identities-and-the-youtube-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-page-identities-and-the-youtube-api</link>
		<comments>https://googledata.org/uncategorized/google-page-identities-and-the-youtube-api/#comments</comments>
		<pubDate>Tue, 25 Jun 2013 00:40:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=a06e56238c48799cbff44d887ae4d8fc</guid>
		<description><![CDATA[<div dir="ltr"><span>As more YouTube channels start using </span><a href="http://youtubecreator.blogspot.com/2013/04/using-google-page-identity-on-youtube.html"><span>Google+ page identities</span></a><span>, here are some best practices to ensure that your code can make authorized API calls to access the channel.</span></div><b><br /><span></span></b><br /><div dir="ltr"><span>With Google+ page identities, there can be many channels associated with a single Google Account. For example, when a user Alice Smith signs into her Google Account, she may have her &#8220;Alice Smith&#8221; (personal) channel on that account, and potentially additional channels, linked to Google+ pages, on associated accounts. These associated accounts do not have a password by default; she gets access to them by signing into her personal account, and then using a switcher to go back and forth between them.</span></div><b><br /><span></span></b><br /><div dir="ltr"><span>How does this channel selection work with APIs? With API access through web-based OAuth 2, the switcher comes automatically. The web flow will ask Alice which account she wants to use, after she signs into her &#8220;Alice Smith&#8221; account. The OAuth 2 tokens your application gets back work just as they do today.</span></div><b><br /><span></span><img height="245px;" src="https://lh4.googleusercontent.com/DVj66wlZVZ1mT06ppzuLnZdF4aYJ5FW25xEpAybLxo1w7Dixpfm73ccFurm8YefQ5vnxps2k_ZsxEXjBSIGgenDwJBK1vWUnpMKCYszqvBQnsug1Rq2uxH31ww" width="564px;"><span></span></b><br /><div dir="ltr"><span>The OAuth 2 web-based &#8220;Select an account&#8221; interface, allowing a user to grant access to their personal channel or any channels linked to Google+ pages that they manage.</span></div><b><br /><span></span></b><br /><div dir="ltr"><span>If you&#8217;re not using web-based OAuth 2 (you are still relying on one of our </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_deprecated"><span>deprecated authorization methods</span></a><span>), or if you are an Android developer who is </span><a href="http://developer.android.com/training/id-auth/authenticate.html"><span>using OAuth 2</span></a><span> (there is currently no native Android account switcher), then the API will choose the &#8220;wrong&#8221; channel in some cases, or even no channel (e.g., if the personal account doesn&#8217;t have a channel). When this happens, the user has two options to specify the correct channel:</span></div><ul><li><div dir="ltr"><span>Use the </span><a href="http://www.youtube.com/account_advanced"><span>Advanced Account Settings</span></a><span> tool to select which channel should be used. This is recommended when a user has one channel they want to use for all applications.</span></div></li><li><div dir="ltr"><a href="https://support.google.com/plus/answer/2882201"><span>Set up login credentials for each of their Google+ pages</span></a><span>, and specify those credentials, not their normal Google Account credentials, for each application that needs access.</span></div></li></ul><b><br /><span></span></b><br /><div dir="ltr"><span>As a best practice, we recommend that you ensure users know of these options, so your application will access the correct channel. Even more importantly, we recommend that all applications provide visual feedback letting users know which channel is currently authorized. If you&#8217;re still using version 2 of the YouTube Data API, you can </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_profiles"><span>retrieve the profile</span></a><span> of the special identifier </span><span>default</span><span>; this corresponds to the currently authorized channel&#8217;s profile. In the version 2 response, the channel&#8217;s display name is returned as an attribute of </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_yt:username"><span>yt:username</span></a><span>, and the profile image can be found by looking at </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:thumbnail"><span>media:thumbnail</span></a><span>. If you&#8217;ve started using </span><a href="http://apiblog.youtube.com/2012/12/the-simpler-yet-more-powerful-new.html"><span>version 3</span></a><span>, then the method to use is </span><a href="https://developers.google.com/youtube/v3/docs/channels/list"><span>channels.list()</span></a><span> with the </span><a href="https://developers.google.com/youtube/v3/docs/channels/list#part"><span>part=snippet</span></a><span> and </span><a href="https://developers.google.com/youtube/v3/docs/channels/list#mine"><span>mine=true</span></a><span> parameters set. The version 3 response contains a channel&#8217;s display name in </span><a href="https://developers.google.com/youtube/v3/docs/channels#snippet.title"><span>channel.snippet.title</span></a><span> and profile image in </span><a href="https://developers.google.com/youtube/v3/docs/channels#snippet.thumbnails.(key).url"><span>channel.snippet.thumbnails.default.url</span></a><span>.</span></div><b><br /><span></span></b><br /><div dir="ltr"><span>To summarize, here are the high-level points to keep in mind:</span></div><ul><li><div dir="ltr"><span>OAuth 2 will automatically display a &#8220;Select an account&#8221; web interface, allowing users with multiple channels associated with their account to choose which one they&#8217;re authorizing access to.</span></div></li><ul><li><div dir="ltr"><span>...this doesn&#8217;t apply to Android OAuth 2, yet.</span></div></li></ul><li><div dir="ltr"><span>Use of other authorization methods will mean some users need to specify which channel to use, either in their </span><a href="http://www.youtube.com/account_advanced"><span>Advanced Account Settings</span></a><span> (if they consistently use one channel), or by </span><a href="https://support.google.com/plus/answer/2882201"><span>setting up login credentials</span></a><span> for each channel, and using them as needed.</span></div></li><li><div dir="ltr"><span>All developers are strongly encouraged to display visual feedback letting their users know which channel is currently authorized.</span></div></li></ul><b><br /><span></span></b><br /><div dir="ltr"><span><b>Update</b></span><span>: This YouTube Developers Live show with Sherry Listgarten, the Product Manager responsible for Google+ and YouTube integration, goes into more details about plans for Google identities and YouTube channels. It also contains a video walkthrough of many of the points covered in this blog post.</span><br /><br /><br /><br /><span>Cheers,</span></div><span>&#8212;</span><a href="https://plus.google.com/+jeffposnick"><span>Jeff Posnick</span></a><span>, </span><a href="http://plus.google.com/+youtubedev"><span>YouTube API Team</span></a>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As more YouTube channels start using </span><a href="http://youtubecreator.blogspot.com/2013/04/using-google-page-identity-on-youtube.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google+ page identities</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, here are some best practices to ensure that your code can make authorized API calls to access the channel.</span></div><b id="docs-internal-guid-6866e19c-78c5-552a-ca91-67ad6af4a6eb" style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With Google+ page identities, there can be many channels associated with a single Google Account. For example, when a user Alice Smith signs into her Google Account, she may have her “Alice Smith” (personal) channel on that account, and potentially additional channels, linked to Google+ pages, on associated accounts. These associated accounts do not have a password by default; she gets access to them by signing into her personal account, and then using a switcher to go back and forth between them.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">How does this channel selection work with APIs? With API access through web-based OAuth 2, the switcher comes automatically. The web flow will ask Alice which account she wants to use, after she signs into her “Alice Smith” account. The OAuth 2 tokens your application gets back work just as they do today.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><img height="245px;" src="https://lh4.googleusercontent.com/DVj66wlZVZ1mT06ppzuLnZdF4aYJ5FW25xEpAybLxo1w7Dixpfm73ccFurm8YefQ5vnxps2k_ZsxEXjBSIGgenDwJBK1vWUnpMKCYszqvBQnsug1Rq2uxH31ww" width="564px;" /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The OAuth 2 web-based “Select an account” interface, allowing a user to grant access to their personal channel or any channels linked to Google+ pages that they manage.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you’re not using web-based OAuth 2 (you are still relying on one of our </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_deprecated" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">deprecated authorization methods</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">), or if you are an Android developer who is </span><a href="http://developer.android.com/training/id-auth/authenticate.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">using OAuth 2</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (there is currently no native Android account switcher), then the API will choose the “wrong” channel in some cases, or even no channel (e.g., if the personal account doesn’t have a channel). When this happens, the user has two options to specify the correct channel:</span></div><ul style="margin-bottom: 0pt; margin-top: 0pt;"><li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Use the </span><a href="http://www.youtube.com/account_advanced" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Advanced Account Settings</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> tool to select which channel should be used. This is recommended when a user has one channel they want to use for all applications.</span></div></li><li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://support.google.com/plus/answer/2882201" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Set up login credentials for each of their Google+ pages</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and specify those credentials, not their normal Google Account credentials, for each application that needs access.</span></div></li></ul><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As a best practice, we recommend that you ensure users know of these options, so your application will access the correct channel. Even more importantly, we recommend that all applications provide visual feedback letting users know which channel is currently authorized. If you’re still using version 2 of the YouTube Data API, you can </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_profiles" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">retrieve the profile</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> of the special identifier </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">default</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">; this corresponds to the currently authorized channel’s profile. In the version 2 response, the channel’s display name is returned as an attribute of </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_yt:username" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">yt:username</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and the profile image can be found by looking at </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:thumbnail" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">media:thumbnail</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. If you’ve started using </span><a href="http://apiblog.youtube.com/2012/12/the-simpler-yet-more-powerful-new.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">version 3</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, then the method to use is </span><a href="https://developers.google.com/youtube/v3/docs/channels/list" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">channels.list()</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> with the </span><a href="https://developers.google.com/youtube/v3/docs/channels/list#part" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">part=snippet</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/youtube/v3/docs/channels/list#mine" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">mine=true</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> parameters set. The version 3 response contains a channel’s display name in </span><a href="https://developers.google.com/youtube/v3/docs/channels#snippet.title" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">channel.snippet.title</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and profile image in </span><a href="https://developers.google.com/youtube/v3/docs/channels#snippet.thumbnails.(key).url" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: 'Courier New'; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">channel.snippet.thumbnails.default.url</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To summarize, here are the high-level points to keep in mind:</span></div><ul style="margin-bottom: 0pt; margin-top: 0pt;"><li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">OAuth 2 will automatically display a “Select an account” web interface, allowing users with multiple channels associated with their account to choose which one they’re authorizing access to.</span></div></li><ul style="margin-bottom: 0pt; margin-top: 0pt;"><li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">...this doesn’t apply to Android OAuth 2, yet.</span></div></li></ul><li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Use of other authorization methods will mean some users need to specify which channel to use, either in their </span><a href="http://www.youtube.com/account_advanced" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Advanced Account Settings</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (if they consistently use one channel), or by </span><a href="https://support.google.com/plus/answer/2882201" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">setting up login credentials</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> for each channel, and using them as needed.</span></div></li><li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">All developers are strongly encouraged to display visual feedback letting their users know which channel is currently authorized.</span></div></li></ul><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Update</b></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">: This YouTube Developers Live show with Sherry Listgarten, the Product Manager responsible for Google+ and YouTube integration, goes into more details about plans for Google identities and YouTube channels. It also contains a video walkthrough of many of the points covered in this blog post.</span><br /><br /><iframe width="560" height="315" src="http://www.youtube.com/embed/Txl7p3oZcHI" frameborder="0" allowfullscreen></iframe><br /><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span></div><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/+jeffposnick" style="text-decoration: none;"><span style="color: #1155cc; font-family: Arial; font-size: 15px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://plus.google.com/+youtubedev" style="text-decoration: none;"><span style="color: #1155cc; font-family: Arial; font-size: 15px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube API Team</span></a>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/google-page-identities-and-the-youtube-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>YouTube for Developers on&#8230; YouTube!</title>
		<link>https://googledata.org/youtube-api/youtube-for-developers-on-youtube/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-for-developers-on-youtube</link>
		<comments>https://googledata.org/youtube-api/youtube-for-developers-on-youtube/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 21:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=b41497e9c06efa26f10789316dc43c15</guid>
		<description><![CDATA[<span><b><span>For almost a year, we&#8217;ve been recording </span><a href="https://developers.google.com/live/youtube/"><span>weekly shows</span></a><span> for YouTube API developers as part of the </span><a href="http://developers.google.com/live"><span>Google Developers Live</span></a><span> series, hosted on the </span><a href="http://www.youtube.com/googledevelopers"><span>Google Developers</span></a><span> YouTube channel. Now, if you want to get just YouTube API-related videos, check out the new </span><a href="http://www.youtube.com/youtubedev"><span>YouTube for Developers channel</span></a><span>.</span></b></span><br /><b><span><span></span></span></b><br /><div dir="ltr"><b><span><span>On our new channel, you&#8217;ll find an up to date </span><a href="http://www.youtube.com/playlist?list=PLhBgTdAWkxeCMHYCQ0uuLyhydRJGDRNo5"><span>playlist</span></a><span> of all our YouTube Developers Live shows (which we&#8217;ve also embedded below), as well as </span><a href="http://www.youtube.com/user/YouTubeDev/videos"><span>other playlists</span></a><span> with videos related to the API. We still recommend subscribing to Google Developers as well, especially if you plan to work with multiple Google APIs in your applications.</span></span></b></div><b><span><span></span></span></b><br /><div dir="ltr"><b><span><span>Not surprisingly, we&#8217;re using the YouTube Data API v3 to maintain the YouTube Developers Live playlist, and also to </span><a href="https://developers.google.com/youtube/v3/docs/activities/insert"><span>post channel bulletins</span></a><span> whenever any video related to YouTube is added to the </span><a href="http://www.youtube.com/googledevelopers"><span>Google Developers channel</span></a><span>. If you&#8217;re interested in doing this type of automatic curation in your own channels, you can take a look at the </span><a href="https://code.google.com/p/youtube-api-samples/source/browse/#git%2Fauto-curate"><span>open source Ruby script</span></a><span> that does the work for us.</span></span></b></div><b><span><br /><br /><br /><span></span></span><div dir="ltr"><span>Cheers,</span></div><div dir="ltr"><span><span>&#8212;</span><a href="https://plus.google.com/117780118136555864520/posts"><span>Jeff Posnick</span></a><span>, </span><span><a href="https://plus.google.com/+YouTubeDev">YouTube API Team</a></span><span></span></span></div><div><br /></div></b>]]></description>
				<content:encoded><![CDATA[<span style="font-family: inherit;"><b id="internal-source-marker_0.9863763262983412" style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">For almost a year, we’ve been recording </span><a href="https://developers.google.com/live/youtube/"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">weekly shows</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> for YouTube API developers as part of the </span><a href="http://developers.google.com/live"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Google Developers Live</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> series, hosted on the </span><a href="http://www.youtube.com/googledevelopers"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Google Developers</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> YouTube channel. Now, if you want to get just YouTube API-related videos, check out the new </span><a href="http://www.youtube.com/youtubedev"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">YouTube for Developers channel</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">.</span></b></span><br /><b id="internal-source-marker_0.9863763262983412" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.9863763262983412" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">On our new channel, you’ll find an up to date </span><a href="http://www.youtube.com/playlist?list=PLhBgTdAWkxeCMHYCQ0uuLyhydRJGDRNo5"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">playlist</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> of all our YouTube Developers Live shows (which we’ve also embedded below), as well as </span><a href="http://www.youtube.com/user/YouTubeDev/videos"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">other playlists</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> with videos related to the API. We still recommend subscribing to Google Developers as well, especially if you plan to work with multiple Google APIs in your applications.</span></span></b></div><b id="internal-source-marker_0.9863763262983412" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.9863763262983412" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Not surprisingly, we’re using the YouTube Data API v3 to maintain the YouTube Developers Live playlist, and also to </span><a href="https://developers.google.com/youtube/v3/docs/activities/insert"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">post channel bulletins</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> whenever any video related to YouTube is added to the </span><a href="http://www.youtube.com/googledevelopers"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Google Developers channel</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">. If you’re interested in doing this type of automatic curation in your own channels, you can take a look at the </span><a href="https://code.google.com/p/youtube-api-samples/source/browse/#git%2Fauto-curate"><span style="color: #1155cc; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">open source Ruby script</span></a><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> that does the work for us.</span></span></b></div><b id="internal-source-marker_0.9863763262983412" style="font-weight: normal;"><span style="font-family: inherit;"><br /><iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/lRqAqO2dSVc?list=PLhBgTdAWkxeCMHYCQ0uuLyhydRJGDRNo5" width="560"></iframe><br /><br /> <span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: inherit; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span></div><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: inherit;"><span style="font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/117780118136555864520/posts"><span style="color: #1155cc; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="color: #1155cc; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><a href="https://plus.google.com/+YouTubeDev">YouTube API Team</a></span><span style="font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"></span></span></div><div><br /></div></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-for-developers-on-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>ClientLogin using Google Accounts</title>
		<link>https://googledata.org/uncategorized/clientlogin-using-google-accounts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clientlogin-using-google-accounts</link>
		<comments>https://googledata.org/uncategorized/clientlogin-using-google-accounts/#comments</comments>
		<pubDate>Tue, 11 Dec 2012 22:14:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=05872ac90abbd79fad65bab795551326</guid>
		<description><![CDATA[<b><span>Long-time readers might remember a blog post from a while back entitled &#8220;</span><a href="http://apiblog.youtube.com/2011/03/clientlogin-fail.html"><span>ClientLogin #FAIL</span></a><span>&#8221;, in which we covered the myriad ways in which your </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin"><span>ClientLogin</span></a><span> authorization attempts might result in an error. Even though ClientLogin has been officially </span><a href="http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html"><span>deprecated</span></a><span> since April 2012, and even though we&#8217;ve been recommending that developers switch to </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_oauth2"><span>OAuth 2</span></a><span> for longer than that, we know there are still a good number of legacy applications out there that still rely on ClientLogin.</span><br /><span></span><br /><span>If you are a developer of such an application, there&#8217;s another thing that you (and your users) will need to start watching out for: at some point in the future, we will start requiring that the username parameter passed to ClientLogin (i.e. what&#8217;s referred to as the </span><span>Email=</span><span> value in the </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin"><span>ClientLogin request</span></a><span>) correspond to the full email address of the </span><a href="http://support.google.com/accounts/bin/answer.py?hl=en&#38;answer=27439"><span>Google Account</span></a><span> that&#8217;s associated with an underlying YouTube channel. We&#8217;ve supported using Google Account email addresses with ClientLogin for many years now, ever since we started </span><a href="http://apiblog.youtube.com/2011/10/introducing-google-account-support-and.html"><span>linking</span></a><span> Google Accounts to YouTube channels, but old habits die hard, and many users still use YouTube usernames.</span><br /><span></span><br /><span>We haven&#8217;t yet determined a date for when we still stop supporting ClientLogin with YouTube usernames and will provide additional details when we know more about when it will take place. However, if you use ClientLogin, it&#8217;s not too early to start encouraging your application&#8217;s users to start providing their Google Account email addresses instead of their YouTube usernames when logging in. If you have the ability to update your existing application&#8217;s user interface, we recommend doing so to indicate that the username field should take a Google Account email address. If you have any online help materials or technical support for your software, update them to ensure that users know to provide their Google Account email address.</span><br /><span></span><br /><span>Users who log in via the YouTube.com web interface, or who go through the AuthSub, OAuth 1, or OAuth 2 web authorization flows will soon be required to use their Google Account email address instead of their YouTube username as well. This web-based transition will take place well before we deprecate YouTube usernames for ClientLogin, and it should be transparent to developers since Google controls the user interface for these flows. For more information, see this </span><a href="http://support.google.com/accounts/bin/answer.py?hl=en&#38;answer=165556"><span>help center article</span></a><span>.</span><br /><span></span><br /><span><strike>As mentioned, we&#8217;ll have a follow-up post in coming months with more details about exactly when we&#8217;ll stop supporting YouTube usernames with ClientLogin. That post will also communicate the exact error message that ClientLogin will return when a YouTube username is used.</strike> We&#8217;d like to close with one more plea: ClientLogin is deprecated, and is technically inferior to OAuth 2 in a number of important ways. Our new Google APIs client libraries provide first-class OAuth 2 integration that developers can take advantage of in their new code, or back port to their existing code. You will be doing your users a service and making their accounts more secure by transitioning from ClientLogin to OAuth 2.</span></b><br /><b><span><span><br /></span></span></b><span><b>Update (June 2013)</b><span>: The change mentioned in this blog post is now in effect. Attempts to use ClientLogin with a YouTube username will result in </span><span>HTTP 403 Forbidden</span><span> responses, with </span></span><span><span>Error=BadAuthentication</span></span><span> in the response body.</span><br /><span><span></span></span><br /><span>Cheers,</span><br /><span>&#8212;</span><a href="https://plus.google.com/117780118136555864520/posts"><span>Jeff Posnick</span></a><span>, </span><a href="http://google.com/+YouTubeDev"><span>YouTube API Team</span></a>]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.9016341001261026" style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Long-time readers might remember a blog post from a while back entitled “</span><a href="http://apiblog.youtube.com/2011/03/clientlogin-fail.html"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">ClientLogin #FAIL</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">”, in which we covered the myriad ways in which your </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">ClientLogin</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> authorization attempts might result in an error. Even though ClientLogin has been officially </span><a href="http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">deprecated</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> since April 2012, and even though we’ve been recommending that developers switch to </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_oauth2"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">OAuth 2</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> for longer than that, we know there are still a good number of legacy applications out there that still rely on ClientLogin.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">If you are a developer of such an application, there’s another thing that you (and your users) will need to start watching out for: at some point in the future, we will start requiring that the username parameter passed to ClientLogin (i.e. what’s referred to as the </span><span style="font-family: 'Courier New'; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Email=</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> value in the </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">ClientLogin request</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">) correspond to the full email address of the </span><a href="http://support.google.com/accounts/bin/answer.py?hl=en&amp;answer=27439"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Google Account</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> that’s associated with an underlying YouTube channel. We’ve supported using Google Account email addresses with ClientLogin for many years now, ever since we started </span><a href="http://apiblog.youtube.com/2011/10/introducing-google-account-support-and.html"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">linking</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> Google Accounts to YouTube channels, but old habits die hard, and many users still use YouTube usernames.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">We haven’t yet determined a date for when we still stop supporting ClientLogin with YouTube usernames and will provide additional details when we know more about when it will take place. However, if you use ClientLogin, it’s not too early to start encouraging your application’s users to start providing their Google Account email addresses instead of their YouTube usernames when logging in. If you have the ability to update your existing application’s user interface, we recommend doing so to indicate that the username field should take a Google Account email address. If you have any online help materials or technical support for your software, update them to ensure that users know to provide their Google Account email address.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Users who log in via the YouTube.com web interface, or who go through the AuthSub, OAuth 1, or OAuth 2 web authorization flows will soon be required to use their Google Account email address instead of their YouTube username as well. This web-based transition will take place well before we deprecate YouTube usernames for ClientLogin, and it should be transparent to developers since Google controls the user interface for these flows. For more information, see this </span><a href="http://support.google.com/accounts/bin/answer.py?hl=en&amp;answer=165556"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">help center article</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><strike>As mentioned, we’ll have a follow-up post in coming months with more details about exactly when we’ll stop supporting YouTube usernames with ClientLogin. That post will also communicate the exact error message that ClientLogin will return when a YouTube username is used.</strike> We’d like to close with one more plea: ClientLogin is deprecated, and is technically inferior to OAuth 2 in a number of important ways. Our new Google APIs client libraries provide first-class OAuth 2 integration that developers can take advantage of in their new code, or back port to their existing code. You will be doing your users a service and making their accounts more secure by transitioning from ClientLogin to OAuth 2.</span></b><br /><b style="font-weight: normal;"><span style="font-family: Arial;"><span style="font-size: 15px; white-space: pre-wrap;"><br /></span></span></b><span style="font-size: 15px; white-space: pre-wrap;"><b style="font-family: Arial;">Update (June 2013)</b><span style="font-family: Arial;">: The change mentioned in this blog post is now in effect. Attempts to use ClientLogin with a YouTube username will result in </span><span style="font-family: Courier New, Courier, monospace;">HTTP 403 Forbidden</span><span style="font-family: Arial;"> responses, with </span></span><span style="font-size: 15px; white-space: pre-wrap;"><span style="font-family: Courier New, Courier, monospace;">Error=BadAuthentication</span></span><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"> in the response body.</span><br /><span style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/117780118136555864520/posts"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://google.com/+YouTubeDev"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">YouTube API Team</span></a>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/clientlogin-using-google-accounts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Upcoming HTTPS Certificate Change</title>
		<link>https://googledata.org/uncategorized/upcoming-https-certificate-change/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=upcoming-https-certificate-change</link>
		<comments>https://googledata.org/uncategorized/upcoming-https-certificate-change/#comments</comments>
		<pubDate>Tue, 13 Nov 2012 15:38:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=0e4ba5d95111293f12893bf922cac577</guid>
		<description><![CDATA[<div dir="ltr"><span>If you&#8217;re a developer who uses the YouTube API, and if you make your requests to the API using HTTPS, there&#8217;s an upcoming change that you should be aware of. Sometime in early August 2013, Google will be changing the certificates used for establishing secure HTTPS connections to </span><span>all</span><span> of our servers, in what we anticipate will be a backwards-compatible manner. Still, since there are so many slight differences in HTTPS client implementations, we encourage you to test your existing code in advance of this change and to</span><a href="https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report)"><span> </span><span>report any issues</span></a><span> that you do encounter.</span></div><span></span><b><br /><span></span></b><div dir="ltr"><span>The new certificates are currently active on</span><a href="https://cert-test.sandbox.google.com/"><span> </span><span>https://cert-test.sandbox.google.com/</span></a><span>, and we recommend testing your HTTPS client implementation against that URL.</span></div><b><br /><span></span></b><div dir="ltr"><span>If you&#8217;re using HTTP instead of HTTPS to access the YouTube Data API then you also won&#8217;t be affected by the new security certificates&#8212;but you really should start using HTTPS!</span></div><b><br /><span></span></b><div dir="ltr"><a href="http://googleonlinesecurity.blogspot.com/2013/05/changes-to-our-ssl-certificates.html"><span>This post</span></a><span> on the Google Online Security Blog has more information about the upcoming change, which roll out in early </span><span>August, 2013</span><span>.</span></div><b><br /><span></span></b><div dir="ltr"><span>Cheers,</span></div><span>&#8212;</span><a href="https://plus.google.com/117780118136555864520/posts"><span>Jeff Posnick</span></a><span>,</span><a href="http://google.com/+YouTubeDev"><span> </span><span>YouTube API Team</span></a>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you’re a developer who uses the YouTube API, and if you make your requests to the API using HTTPS, there’s an upcoming change that you should be aware of. Sometime in early August 2013, Google will be changing the certificates used for establishing secure HTTPS connections to </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">all</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> of our servers, in what we anticipate will be a backwards-compatible manner. Still, since there are so many slight differences in HTTPS client implementations, we encourage you to test your existing code in advance of this change and to</span><a href="https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report)" style="text-decoration: none;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">report any issues</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that you do encounter.</span></div><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><b id="docs-internal-guid-48c0e5a1-d40e-605b-06b2-e8044c476435" style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The new certificates are currently active on</span><a href="https://cert-test.sandbox.google.com/" style="text-decoration: none;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://cert-test.sandbox.google.com/</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and we recommend testing your HTTPS client implementation against that URL.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you’re using HTTP instead of HTTPS to access the YouTube Data API then you also won’t be affected by the new security certificates—but you really should start using HTTPS!</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><a href="http://googleonlinesecurity.blogspot.com/2013/05/changes-to-our-ssl-certificates.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">This post</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> on the Google Online Security Blog has more information about the upcoming change, which roll out in early </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">August, 2013</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div><b style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span></div><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/117780118136555864520/posts" style="text-decoration: none;"><span style="color: #1155cc; font-family: Arial; font-size: 15px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">,</span><a href="http://google.com/+YouTubeDev" style="text-decoration: none;"><span style="color: black; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; font-family: Arial; font-size: 15px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube API Team</span></a>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/upcoming-https-certificate-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>The YouTube API on Stack Overflow</title>
		<link>https://googledata.org/youtube-api/the-youtube-api-on-stack-overflow/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-youtube-api-on-stack-overflow</link>
		<comments>https://googledata.org/youtube-api/the-youtube-api-on-stack-overflow/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 18:53:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=d19bdbea7589537fac565cf8e961c40d</guid>
		<description><![CDATA[<b><span>Many of you are already familiar with the terrific </span><a href="http://stackoverflow.com/"><span>Stack Overflow</span></a><span> website, which has become the </span><span>de facto</span><span> resource on the web for all types of programming questions. And many of you have been asking </span><a href="http://stackoverflow.com/questions/tagged/youtube-api"><span>YouTube API questions on Stack Overflow</span></a><span> for some time now, but haven&#8217;t received any official responses from the YouTube API Developer Relations team. That&#8217;s because, for the past five years or so, our focus has been on providing developer support via our dedicated </span><a href="https://groups.google.com/forum/#!forum/youtube-api-gdata"><span>Google Group</span></a><span>. We&#8217;ve decided that instead of continuing to maintain a dedicated Google Group for YouTube API questions, it would help more users if we focused on responding to Stack Overflow posts.</span><br /><span></span><br /><span>We encourage all developers who have questions about the YouTube API to start posting on Stack Overflow today using the tag </span><span>youtube-api</span><span>. You can use this </span><a href="http://stackoverflow.com/questions/ask?tags=youtube-api"><span>new question template</span></a><span> to pre-populate the tag for you so that you don&#8217;t forget. While we&#8217;ll do our best to find and answer relevant questions that aren&#8217;t tagged with </span><span>youtube-api</span><span>, you&#8217;d be making our job easier (and you&#8217;d get a quicker answer) if you tag things correctly from the get-go.</span></b><br /><b><span><span><br /></span></span></b><b><span><span>Here are a few tips for folks new to Stack Overflow:</span></span></b><br /><br /><ol><li><span>Before posting, search to make sure your question hasn't been asked before. To do this, put </span><span><span>[youtube-api]</span></span><span> as the first part of your search, then type in some keywords that describe your problem or question.</span></li><li><span>If you need to ask a question, make sure you apply the </span><span><span><b>youtube-api</b></span></span><span> tag, as well as the tag that indicates the language that you're using. If you're using PHP to access the API, your question should be tagged </span><span><span><b>youtube-api</b></span></span><span> as well as </span><span><span><b>php</b></span></span><span>.</span></li><li><span>Make sure you watch your question after posting it, as experts that can provide you with an answer might leave comments to ask you for clarification.</span></li></ol><br /><b><span>Stack Overflow prides itself in being a destination for questions and answers, and not a place to file bug reports or feature requests. We ask that developers </span><span>do not post on Stack Overflow</span><span> for those sorts of things, and instead make use of the templates we have for </span><a href="https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report)"><span>filing a bug</span></a><span> or </span><a href="https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Enhancement%20Request)"><span>filing a feature request</span></a><span> in our existing public issue tracker. (Be sure to check the </span><a href="https://code.google.com/p/gdata-issues/issues/list?q=label:API-YouTube"><span>list of existing open issues</span></a><span> before filing a duplicate.)</span><br /><span></span><br /><span>On </span><span>October 15</span><span>, we&#8217;ll be switching the existing </span><a href="https://groups.google.com/forum/#!forum/youtube-api-gdata"><span>discussion Google Group</span></a><span> into archive-only mode, meaning that it will no longer accept any new posts. You don&#8217;t have to wait until October 15 to </span><a href="http://stackoverflow.com/questions/ask?tags=youtube-api"><span>start asking questions on Stack Overflow</span></a><span> or to file reports in the issue tracker, though.</span><br /><span></span><br /><span>For those developers who mainly &#8220;lurked&#8221; in the discussion Google Group and used it as a way of getting official announcements about the YouTube API, we have a number of other communication channels to recommend. Subscribing to this blog&#8217;s </span><a href="http://apiblog.youtube.com/feeds/posts/default?alt=rss"><span>RSS feed</span></a><span> is a great idea, for instance. You can also follow us on Google+ at </span><a href="http://google.com/+YouTubeDev"><span>http://google.com/+YouTubeDev</span></a><span>. If you&#8217;d like to submit a question to one of our weekly YouTube Developers Live broadcasts, you can do that for the next </span><a href="https://developers.google.com/live/youtube"><span>upcoming scheduled show</span></a><span>. Finally, for those who prefer to get updates via email, we will be keeping the </span><a href="https://groups.google.com/forum/#!forum/youtube-api"><span>announce-only Google Group</span></a><span> active, and we&#8217;ll continue to post important messages there.</span><br /><span></span><br /><span>Cheers,</span><br /><span>&#8212;</span><a href="https://plus.google.com/117780118136555864520/posts"><span>Jeff Posnick</span></a><span>, </span><a href="http://google.com/+YouTubeDev"><span>YouTube API Team</span></a></b>]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.5591201621573418" style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Many of you are already familiar with the terrific </span><a href="http://stackoverflow.com/"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> website, which has become the </span><span style="font-family: Arial; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">de facto</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> resource on the web for all types of programming questions. And many of you have been asking </span><a href="http://stackoverflow.com/questions/tagged/youtube-api"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">YouTube API questions on Stack Overflow</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> for some time now, but haven’t received any official responses from the YouTube API Developer Relations team. That’s because, for the past five years or so, our focus has been on providing developer support via our dedicated </span><a href="https://groups.google.com/forum/#!forum/youtube-api-gdata"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">. We’ve decided that instead of continuing to maintain a dedicated Google Group for YouTube API questions, it would help more users if we focused on responding to Stack Overflow posts.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">We encourage all developers who have questions about the YouTube API to start posting on Stack Overflow today using the tag </span><span style="font-family: 'Courier New'; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">youtube-api</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">. You can use this </span><a href="http://stackoverflow.com/questions/ask?tags=youtube-api"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">new question template</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> to pre-populate the tag for you so that you don’t forget. While we’ll do our best to find and answer relevant questions that aren’t tagged with </span><span style="font-family: 'Courier New'; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">youtube-api</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">, you’d be making our job easier (and you’d get a quicker answer) if you tag things correctly from the get-go.</span></b><br /><b style="font-weight: normal;"><span style="font-family: Arial;"><span style="font-size: 15px; white-space: pre-wrap;"><br /></span></span></b><b style="font-weight: normal;"><span style="font-family: Arial;"><span style="font-size: 15px; white-space: pre-wrap;">Here are a few tips for folks new to Stack Overflow:</span></span></b><br /><br /><ol><li><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">Before posting, search to make sure your question hasn't been asked before. To do this, put </span><span style="font-size: 15px; white-space: pre-wrap;"><span style="font-family: Courier New, Courier, monospace;">[youtube-api]</span></span><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"> as the first part of your search, then type in some keywords that describe your problem or question.</span></li><li><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">If you need to ask a question, make sure you apply the </span><span style="font-size: 15px; white-space: pre-wrap;"><span style="font-family: Courier New, Courier, monospace;"><b>youtube-api</b></span></span><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"> tag, as well as the tag that indicates the language that you're using. If you're using PHP to access the API, your question should be tagged </span><span style="font-size: 15px; white-space: pre-wrap;"><span style="font-family: Courier New, Courier, monospace;"><b>youtube-api</b></span></span><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"> as well as </span><span style="font-size: 15px; white-space: pre-wrap;"><span style="font-family: Courier New, Courier, monospace;"><b>php</b></span></span><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">.</span></li><li><span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">Make sure you watch your question after posting it, as experts that can provide you with an answer might leave comments to ask you for clarification.</span></li></ol><br /><b style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow prides itself in being a destination for questions and answers, and not a place to file bug reports or feature requests. We ask that developers </span><span style="font-family: Arial; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">do not post on Stack Overflow</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> for those sorts of things, and instead make use of the templates we have for </span><a href="https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report)"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">filing a bug</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> or </span><a href="https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Enhancement%20Request)"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">filing a feature request</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> in our existing public issue tracker. (Be sure to check the </span><a href="https://code.google.com/p/gdata-issues/issues/list?q=label:API-YouTube"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">list of existing open issues</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> before filing a duplicate.)</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">On </span><span style="font-family: Arial; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">October 15</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">, we’ll be switching the existing </span><a href="https://groups.google.com/forum/#!forum/youtube-api-gdata"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">discussion Google Group</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> into archive-only mode, meaning that it will no longer accept any new posts. You don’t have to wait until October 15 to </span><a href="http://stackoverflow.com/questions/ask?tags=youtube-api"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">start asking questions on Stack Overflow</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> or to file reports in the issue tracker, though.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">For those developers who mainly “lurked” in the discussion Google Group and used it as a way of getting official announcements about the YouTube API, we have a number of other communication channels to recommend. Subscribing to this blog’s </span><a href="http://apiblog.youtube.com/feeds/posts/default?alt=rss"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">RSS feed</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> is a great idea, for instance. You can also follow us on Google+ at </span><a href="http://google.com/+YouTubeDev"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">http://google.com/+YouTubeDev</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">. If you’d like to submit a question to one of our weekly YouTube Developers Live broadcasts, you can do that for the next </span><a href="https://developers.google.com/live/youtube"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">upcoming scheduled show</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">. Finally, for those who prefer to get updates via email, we will be keeping the </span><a href="https://groups.google.com/forum/#!forum/youtube-api"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">announce-only Google Group</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> active, and we’ll continue to post important messages there.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="font-family: Arial; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/117780118136555864520/posts"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick</span></a><span style="font-family: Arial; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://google.com/+YouTubeDev"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">YouTube API Team</span></a></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/the-youtube-api-on-stack-overflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Video Tags: Just for Uploaders</title>
		<link>https://googledata.org/youtube-api/video-tags-just-for-uploaders/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=video-tags-just-for-uploaders</link>
		<comments>https://googledata.org/youtube-api/video-tags-just-for-uploaders/#comments</comments>
		<pubDate>Tue, 28 Aug 2012 15:54:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5a419303c0b0640b07cb2c381fcc2893</guid>
		<description><![CDATA[<b><span>Update<span>: This change also applies to&#160;</span></span></b><span><span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_category">&#60;category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat"&#62;</a></span></span><b><span> tags, which were not mentioned in the original announcement.</span></b><br /><b><span><br /></span></b><b><span>If you follow the YouTube Creator Blog, you might have recently seen </span><a href="http://youtubecreator.blogspot.com/2012/08/tags-removed-from-video-watch-pages.html"><span>a post</span></a><span> announcing that video tags (also known as keywords) would no longer be displayed to viewers of a video on YouTube&#8217;s website. They aren&#8217;t going away from the video itself, though&#8212;the owner of the video can still create tags for new videos and edit tags for existing videos, and video tags will still provide an important signal used to surface relevant results when searching for videos.</span><br /><span></span><br /><span>We&#8217;re going to be making some corresponding changes to all versions of the YouTube Data API to mimic this behavior in API responses. Starting later today, August 28, on the </span><a href="http://apiblog.youtube.com/2008/11/all-worlds-stage.html"><span>staging server</span></a><span> and September 4 on the production server, any time you get a video entry back from any API method, it will have an empty </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:keywords"><span>&#60;media:keywords/&#62;</span></a><span> element. This is a valid response from the API that your application should already handle gracefully, since videos are not required to have any keywords to begin with.</span><br /><span></span><br /><span>The exception to this rule is when you make authenticated requests to the API, and you request a video entry that&#8217;s owned by the currently authorized user. In that scenario, you will get back a </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:keywords"><span>&#60;media:keywords&#62;</span></a><span> element that contains the full list of tags for the video, and you can read, update, or remove those video tags using the standard API operations.</span><br /><span></span><br /><span>Important</span><span>: If your application allows video owners to update the metadata of their videos, please ensure that you include the proper </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_authentication"><span>Authorization</span></a><span> header for both read and write operations. Otherwise, you could accidentally return an empty list of video tags when retrieving an existing video, and end up </span><span>overwriting</span><span> the video&#8217;s tags if you update the metadata. Video tags continue to play an important role in helping viewers discover your videos when searching on YouTube.com or via the API, so if your application does support metadata editing, please make sure you allow owners to tag their videos properly.</span><br /><span></span><br /><span>Cheers,</span><br /><span>&#8212;</span><a href="https://plus.google.com/117780118136555864520"><span>Jeffrey Posnick</span></a><span>, </span><a href="https://plus.google.com/100270142261733078201"><span>YouTube API Team</span></a></b>]]></description>
				<content:encoded><![CDATA[<b><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Update<span style="font-weight: normal;">: This change also applies to&nbsp;</span></span></b><span style="font-family: Courier New, Courier, monospace;"><span style="font-size: 15px; white-space: pre-wrap;"><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_category">&lt;category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat"&gt;</a></span></span><b id="internal-source-marker_0.3652685342822224" style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> tags, which were not mentioned in the original announcement.</span></b><br /><b style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b><b id="internal-source-marker_0.3652685342822224" style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">If you follow the YouTube Creator Blog, you might have recently seen </span><a href="http://youtubecreator.blogspot.com/2012/08/tags-removed-from-video-watch-pages.html"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">a post</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> announcing that video tags (also known as keywords) would no longer be displayed to viewers of a video on YouTube’s website. They aren’t going away from the video itself, though—the owner of the video can still create tags for new videos and edit tags for existing videos, and video tags will still provide an important signal used to surface relevant results when searching for videos.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">We’re going to be making some corresponding changes to all versions of the YouTube Data API to mimic this behavior in API responses. Starting later today, August 28, on the </span><a href="http://apiblog.youtube.com/2008/11/all-worlds-stage.html"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">staging server</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> and September 4 on the production server, any time you get a video entry back from any API method, it will have an empty </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:keywords"><span style="color: #1155cc; font-family: 'Courier New'; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">&lt;media:keywords/&gt;</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> element. This is a valid response from the API that your application should already handle gracefully, since videos are not required to have any keywords to begin with.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">The exception to this rule is when you make authenticated requests to the API, and you request a video entry that’s owned by the currently authorized user. In that scenario, you will get back a </span><a href="https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:keywords"><span style="color: #1155cc; font-family: 'Courier New'; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">&lt;media:keywords&gt;</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> element that contains the full list of tags for the video, and you can read, update, or remove those video tags using the standard API operations.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Important</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">: If your application allows video owners to update the metadata of their videos, please ensure that you include the proper </span><a href="https://developers.google.com/youtube/2.0/developers_guide_protocol_authentication"><span style="color: #1155cc; font-family: 'Courier New'; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Authorization</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> header for both read and write operations. Otherwise, you could accidentally return an empty list of video tags when retrieving an existing video, and end up </span><span style="font-family: Arial; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">overwriting</span><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> the video’s tags if you update the metadata. Video tags continue to play an important role in helping viewers discover your videos when searching on YouTube.com or via the API, so if your application does support metadata editing, please make sure you allow owners to tag their videos properly.</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">—</span><a href="https://plus.google.com/117780118136555864520"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Jeffrey Posnick</span></a><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://plus.google.com/100270142261733078201"><span style="color: #1155cc; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">YouTube API Team</span></a></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/video-tags-just-for-uploaders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>“Super Tuesday” Reporting, Powered by YouTube Direct</title>
		<link>https://googledata.org/uncategorized/super-tuesday-reporting-powered-by-youtube-direct/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=super-tuesday-reporting-powered-by-youtube-direct</link>
		<comments>https://googledata.org/uncategorized/super-tuesday-reporting-powered-by-youtube-direct/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 23:25:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=3738a61f7faa1cc31c0d8e7b442d08a0</guid>
		<description><![CDATA[It’s Presidential election season in the United States, and YouTube’s News and Politics team is partnering with Storyful to highlight timely political videos from across the country. With that in mind, we’re excited to announce that citizen journ...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.12607926363125443"><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">It’s Presidential election season in the United States, and YouTube’s News and Politics team is partnering with </span><a href="http://storyful.com/"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Storyful</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> to highlight </span><a href="http://www.google.com/elections/ed/us/ontheground"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">timely political videos</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> from across the country. With that in mind, we’re excited to announce that citizen journalists can now submit videos documenting the election process by using the new </span><a href="https://market.android.com/details?id=com.storyful.ytd"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Android</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://itunes.apple.com/us/app/storyfuldirect/id505190824"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">iOS</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> mobile applications powered by </span><a href="http://code.google.com/p/youtube-direct/"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">YouTube Direct</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and released by Storyful. Both applications are based on the open source code examples we’ve released for </span><a href="http://code.google.com/p/ytd-android/"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Android</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://code.google.com/p/ytd-iphone/"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">iOS</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, and submit videos to the instance of YouTube Direct that Storyful curates.</span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Tomorrow is “Super Tuesday,” when 10 states will hold their primary elections. If you live in one of the Super Tuesday states, we encourage you to install the Storyful Direct mobile application and shoot some footage documenting your political experience—a selection of videos will appear on YouTube and </span><a href="http://google.com/elections"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">google.com/elections</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> throughout the day. Even if you don’t live in a state that’s holding a primary tomorrow, the Storyful Direct apps can be used to document your experience during the runup to the Presidential election in November.</span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">And if you’re a developer who isn’t yet familiar with the YouTube Direct platform, you can find all the information you need to get started with the web and mobile platforms at the </span><a href="http://code.google.com/p/youtube-direct/"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google Code project page</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="font-family: Arial; font-size: 15px; font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">—Jeffrey Posnick, YouTube API Team</span></b><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-5247301543194416934?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/super-tuesday-reporting-powered-by-youtube-direct/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insight Report Enhancements</title>
		<link>https://googledata.org/youtube-api/insight-report-enhancements/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=insight-report-enhancements</link>
		<comments>https://googledata.org/youtube-api/insight-report-enhancements/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 20:40:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=f96a2ffe0fba44f4f94fcf7c375f75b7</guid>
		<description><![CDATA[YouTube Insight reports provide video owners with statistics about their viewership above and beyond public view count information. They’re a crucial tool when you want to find out more about the demographic or regional breakdown of your videos’ vi...]]></description>
				<content:encoded><![CDATA[<br /><div style="background-color: transparent;"><a href="http://www.google.com/support/youtube/bin/static.py?page=guide.cs&amp;guide=1254429" id="internal-source-marker_0.25932192569598556"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">YouTube Insight reports</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> provide video owners with statistics about their viewership above and beyond public view count information. They’re a crucial tool when you want to find out more about the demographic or regional breakdown of your videos’ viewership, or what sites are embedding your videos. The YouTube API has provided a way for developers to retrieve YouTube Insight reports in a comma-separated value format for some time now, but there are some recent additions to the Insight retrieval process that we wanted to highlight.</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">First, we wanted to mention that the API allows developers to access Insight reports for an entire channel’s worth of videos, not just a single video. The appropriate base URL to use for downloading a channel report can be found when requesting the </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_profiles.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">profile</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> corresponding to the user who’s </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_authentication.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">authenticated</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> with the YouTube API, as described in our </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_insight.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">developer’s guide</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The element looks something like:</span><br /><span style="background-color: transparent; font-family: 'Courier New'; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; font-family: 'Courier New'; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='http://gdata.youtube.com/schemas/2007#insight.views' type='text/html' href='http://insight.youtube.com/video-analytics/csvreports?query=PlVJ88-zqkI&amp;type=...'/&gt;</span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></div><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It can be identified by the </span><span style="background-color: transparent; font-family: 'Courier New'; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">rel='http://gdata.youtube.com/schemas/2007#insight.views'</span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> attribute. As with single-video Insight retrieval, these reports are only available to the corresponding owner, so authenticating as the correct user is a must.</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Current users of the Insight API know that we previously supported a rather restrictive set of custom date ranges for reports. We’re happy to announce that these restrictions have been relaxed—we now support date ranges that span 31 days (up from 28) and, more significantly, you can specify any arbitrary start date for your report going back to March 1, 2009. Please see </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_insight.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">our documentation</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> for more information on formatting your custom date range parameters to take advantage of this historical data.</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As always, we’re waiting to hear from you in our </span><a href="http://code.google.com/apis/youtube/forum/discussion.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">developer forum</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> with any questions or comments.</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeffrey Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-4535607992838633397?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/insight-report-enhancements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Ways to Find What You’re Looking For</title>
		<link>https://googledata.org/youtube-api/more-ways-to-find-what-you%e2%80%99re-looking-for/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=more-ways-to-find-what-you%25e2%2580%2599re-looking-for</link>
		<comments>https://googledata.org/youtube-api/more-ways-to-find-what-you%e2%80%99re-looking-for/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 02:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ec7746e30bbba79ec7042cfa58c6437d</guid>
		<description><![CDATA[We’ve got some exciting additions to the list of supported search parameters for YouTube feeds that should make it easier to narrow down your search results to exactly the videos you’re looking for. Each of these search parameters has an accompanyi...]]></description>
				<content:encoded><![CDATA[<br /><div style="background-color: transparent;"><span id="internal-source-marker_0.7500893790274858" style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We’ve got some exciting additions to the list of supported </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.html#Custom_parameters"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">search parameters</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> for YouTube feeds that should make it easier to narrow down your search results to exactly the videos you’re looking for. Each of these search parameters has an accompanying element in a </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_entry"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">video entry’s</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> metadata, which we’ll cover as well. Here's a quick rundown:</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><ul><li style="background-color: transparent; font-family: Arial; font-size: 11pt; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.html#licensesp"><span style="background-color: transparent; color: #000099; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">license</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; font-size: 11pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">- This parameter lets you filter search results based on whether they're </span><a href="http://www.youtube.com/t/creative_commons"><span style="background-color: transparent; color: #000099; font-size: 11pt; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Creative Commons licensed</span></a><span style="background-color: transparent; font-size: 11pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">license=cc</span><span style="background-color: transparent; font-size: 11pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) or use the standard YouTube license (</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">license=youtube</span><span style="background-color: transparent; font-size: 11pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">). The default behavior is to return videos regardless of their license in search results. The license for a given video entry is reflected in its </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:license"><span style="background-color: transparent; color: #000099; font-size: 11pt; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">&lt;media:license&gt;</span></a><span style="background-color: transparent; font-size: 11pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> element.</span></li></ul><ul><li style="background-color: transparent; font-family: Arial; font-size: 11pt; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.html#hdsp"><span style="background-color: transparent; color: #000099; font-size: 11pt; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">hd</span></a><span style="background-color: transparent; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">- This one lets you request videos that have high-resolution versions available. If you specify </span><span style="background-color: transparent; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">hd</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (no value is needed), all the videos in your search results will be available for playback in at least 720p, and higher resolutions, like 1080p, might be available, too. If you leave the parameter out, then search results won't be filtered at all based on resolution. The </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:hd"><span style="background-color: transparent; color: #000099; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">&lt;yt:hd&gt;</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> element corresponds to this search parameter.</span></li><li style="background-color: transparent; font-family: Arial; font-size: 11pt; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.html#durationsp"><span style="background-color: transparent; color: #000099; font-size: 11pt; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">duration</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - If you cater to an audience with a short attention span, then this parameter is for you. This parameter lets you filter search results based on video length. To find videos less than 4 minutes long, use </span><span style="background-color: transparent; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">duration=short</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. To find videos that are between 4 and 20 minutes long (inclusive), use </span><span style="background-color: transparent; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">duration=medium</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Only videos that are longer than 20 minutes will be returning when requesting </span><span style="background-color: transparent; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">duration=long</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:duration"><span style="background-color: transparent; color: #000099; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">&lt;yt:duration&gt;</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> element in a video entry provides a video’s exact runtime.</span></li><li style="background-color: transparent; font-family: Arial; font-size: 11pt; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_api_query_parameters.html#3dsp"><span style="background-color: transparent; color: #000099; font-size: 11pt; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">3d</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Finally, for those of you living in the future who want to find </span><a href="http://www.google.com/support/youtube/bin/answer.py?answer=157640"><span style="background-color: transparent; color: #000099; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">3D content</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> on YouTube, this aptly-named parameter is for you. Adding </span><span style="background-color: transparent; font-size: 11pt; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3d</span><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (no value is needed) to your searches will ensure that all videos you get back are available for viewing in 3D. Videos that are available in 3D will have a </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:threed"><span style="background-color: transparent; color: #000099; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">&lt;yt:threed&gt;</span></a><span style="background-color: transparent; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> element in them, and that element will contain more detail about the nature of the 3D content in the given video.</span></li></ul><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Putting it all together, let’s say you want to use the API to find Creative Commons-licensed 3D YouTube videos that are available in resolutions of 720p and above and are longer than 20 minutes.The following request URL will return a feed of such videos:</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://gdata.youtube.com/feeds/api/videos?prettyprint=true&amp;v=2&amp;license=cc&amp;hd&amp;duration=long&amp;3d"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">https://gdata.youtube.com/feeds/api/videos?prettyprint=true&amp;v=2&amp;license=cc&amp;hd&amp;duration=long&amp;3d</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As always, if you have any questions or comments, please let us know in our </span><a href="http://code.google.com/apis/youtube/forum/discussion.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">developer forum</span></a><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-8962093565836277555?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/more-ways-to-find-what-you%e2%80%99re-looking-for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Say Hello to the New Playlist Player</title>
		<link>https://googledata.org/youtube-api/say-hello-to-the-new-playlist-player/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=say-hello-to-the-new-playlist-player</link>
		<comments>https://googledata.org/youtube-api/say-hello-to-the-new-playlist-player/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 01:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=4b482c6797e34cd694fcd75cd625e9ae</guid>
		<description><![CDATA[While the YouTube embedded single-video player has seen a number of improvements in the past few months, the embedded playlist player has lagged behind—until now. We’re happy to introduce a completely rewritten embedded playlist players, ready for ...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">While the YouTube embedded single-video player has seen a number of improvements in the past few months, the embedded playlist player has lagged behind—until now. We’re happy to introduce a completely rewritten embedded playlist players, ready for inclusion on any of your web pages that needs to display a series of videos in the same player. The new embedded playlist player has a user interface that should be familiar to anyone using our current single-video player. Take a look at the example below:</span><br /><span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"><br /></span><br /><object height="385" width="480">      <param name="movie" value="http://www.youtube.com/p/E46798C874B35B7F?version=3&hl=en_US&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/p/E46798C874B35B7F?version=3&hl=en_US&fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed>    </object><br /><br /><div style="background-color: transparent;"><span id="internal-source-marker_0.9180626387242228" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Any developer can try out the new playlist player right now by appending the </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">version=3</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> URL query parameter to the URL they’re currently using for an embedded playlist player. For example, if you’re currently specifying </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">http://www.youtube.com/p/E46798C874B35B7F?fs=1</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in your &lt;</span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">object&gt;</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/</span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&lt;embed&gt;</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> tags, using &nbsp;</span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">http://www.youtube.com/p/E46798C874B35B7F?fs=1&amp;</span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">version=3</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> will play back the same playlist in the new player.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Alternatively, you can just wait until next week. We plan on making the new version of the embedded playlist player the default on July 20, and at that point existing URLs will automatically trigger the new player.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We do encourage all developers to take the opportunity to test the new player with an explicit </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">version=3</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in advance of that change—while we don’t anticipate any issues with using the new version, if you do notice anything that is amiss, you can let us know in the </span><a href="http://groups.google.com/group/youtube-api-gdata"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube API Google Group</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-4784334341868169330?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/say-hello-to-the-new-playlist-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunsetting the Custom Player</title>
		<link>https://googledata.org/youtube-api/sunsetting-the-custom-player/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sunsetting-the-custom-player</link>
		<comments>https://googledata.org/youtube-api/sunsetting-the-custom-player/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 19:07:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=59f0b0ea8af4858513379088fdc46ad5</guid>
		<description><![CDATA[YouTube previously offered a specialized way of embedding playlists (as well as uploads and favorites feeds) for playback on third party sites in a customizable interface—we called this the Custom Player. While the Custom Player had its fans, it neve...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.2517926224973053" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">YouTube previously offered a specialized way of embedding playlists (as well as uploads and favorites feeds) for playback on third party sites in a customizable interface—we called this the Custom Player. While the Custom Player had its fans, it never saw a great deal of usage, and we recently removed support for the creation of new Custom Players. If you’ve already created a Custom Player and have it embedded on your site it should continue to work as-is; the only thing that has changed is that new Custom Players cannot be created.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">One common concern is that owners cannot update the videos featured in existing Custom Players. We recommend that you update the associated playlist to reflect the videos that you would like to feature in the Custom Player, or embed a new playlist.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">While we will not allow for the creation of new custom players at this time, similar functionality is available through creating embedded playlists, which can be accessed by visiting </span><a href="http://youtube.com/my_playlists"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://youtube.com/my_playlists</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, clicking </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Share</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and then using the embed code given there.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We apologize that taking away the ability to create new Custom Players caught anyone off guard. Stay tuned to this blog for upcoming announcements about modern alternatives to the Custom Player—we’ve got some exciting things in store!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—David Boyle, YouTube Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-8253395772624612694?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/sunsetting-the-custom-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The next step in embedded videos: HD preview images and a logoless option</title>
		<link>https://googledata.org/youtube-api/the-next-step-in-embedded-videos-hd-preview-images-and-a-logoless-option/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-next-step-in-embedded-videos-hd-preview-images-and-a-logoless-option</link>
		<comments>https://googledata.org/youtube-api/the-next-step-in-embedded-videos-hd-preview-images-and-a-logoless-option/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 19:54:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=7740854cbf7e30d823d2bb88958705c2</guid>
		<description><![CDATA[(Cross-posted from The Official YouTube Blog.)It may be hard to imagine but YouTube’s video preview images represent to many the ultimate deciding factor as to whether or not they watch a video. If a preview image looks interesting, it can mean the d...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"><i>(<a href="http://youtube-global.blogspot.com/2011/06/next-step-in-embedded-videos-hd-preview.html">Cross-posted</a> from <a href="http://youtube-global.blogspot.com/">The Official YouTube Blog</a>.)</i></span><br /><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It may be hard to imagine but YouTube’s video preview images represent to many the ultimate deciding factor as to whether or not they watch a video. If a preview image looks interesting, it can mean the difference between someone pressing the play button. In addition, your site and the videos on it represent to you polished masterpieces. Yet, your videos’ preview images can appear lower in quality, and sometimes you don't want a logo in your player. So today we're rolling out new features for both situations: HD preview images and the option to remove the logo from your player. </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">HD preview images</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Video resolutions </span><a href="http://youtube-global.blogspot.com/2009/11/1080p-hd-comes-to-youtube.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">have</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="http://youtube-global.blogspot.com/2010/07/whats-bigger-than-1080p-4k-video-comes.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">been</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> increasing across YouTube, and the sizes of your embedded players are bigger than ever. But until now, video preview images in today’s larger players (e.g. the image that appears before you click “Play”) haven’t kept up with your high-quality and larger videos.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Any new video uploaded to the site in a resolution of 480p or higher will have an HD preview image wherever the player is embedded. The difference is even more striking with larger embeds (which don’t fit on this blog), so try it out yourself and see what we’re talking about. Here’s an example:</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Before:</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><img height="396px;" src="https://lh4.googleusercontent.com/_RvAa4tmRn_uP2o34IM15zseHvS0ve7QXOHrPwxN7WpRZTR82naMp59m8-j1H-7A_f4p6CqhMlmpU275GphQDHw1PV57_sqPFdFQUOP33jM-RafsZHA" width="646px;" /><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Now:</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><img height="394px;" src="https://lh3.googleusercontent.com/A7ebSQgj-ECfpv7_342OhmFoTgf2zU8lqTZ7V5K73xx1Y1MbIoyazVyBMVwHxiD3Id_L8U7AiGyGbGPoxX8yFKgyVdh8ohyS81h9QJmZyAIDFp8LRoU" width="643px;" /><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We’ll also automatically give HD preview images to older videos in the next few weeks, as long as they’re 480p or larger. </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A note for partners, if you’ve uploaded a custom preview image for your video, you’ll need to re-upload a new one for your videos in order to upgrade it to HD (1920 x 1080px, 2MB max). </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Logoless player</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Many of you have asked us for a version of the YouTube player without a YouTube logo, so the video plays without any branding nearby. We’ve now added a simple option to do it. At the end of the video URL in your embed code, just add the code ?modestbranding=1 and the player will show without the YouTube logo in the control bar. Note that a small “YouTube” text label will still show up in the upper-right corner of a paused video when you hover over the player. We’ve published the </span><a href="http://code.google.com/apis/youtube/player_parameters.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">full list</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> of the player’s possible parameters, and here’s an example:</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span><br /><iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/6_W_xLWtNa0?modestbranding=1" width="640"></iframe><br /><span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"><br /></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">We hope these features help you show your videos the way you want them to be seen.</span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Kevin Wilson, Software Engineer, recently watched “</span><a href="http://www.youtube.com/watch?v=ErMWX--UJZ4"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">I'm Yours (ukulele)</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">” and Ravi Kanodia, Software Engineer, recently watched “</span><a href="http://www.youtube.com/watch?v=3F1_04GLrPs"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Candy BBQ - Epic Meal Time</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.”</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-6112168982347401719?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/the-next-step-in-embedded-videos-hd-preview-images-and-a-logoless-option/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>YouTube @ Google I/O: API Bootcamp</title>
		<link>https://googledata.org/youtube-api/youtube-google-io-api-bootcamp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-google-io-api-bootcamp</link>
		<comments>https://googledata.org/youtube-api/youtube-google-io-api-bootcamp/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 19:34:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=a546705d445f4d6f88878ccb85710e1f</guid>
		<description><![CDATA[There was more to Google I/O 2011 than formal presentations—Google I/O BootCamp was a day-long developer event geared towards providing beginning-level content to newer developers. Two engineers who work on the YouTube Data API, Raul Furnică and Gü...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.8517361662816256" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There was more to </span><a href="http://www.google.com/events/io/2011/index-live.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google I/O 2011</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> than formal presentations—</span><a href="http://www.io-bootcamp.com/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google I/O BootCamp</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> was a day-long developer event geared towards providing beginning-level content to newer developers. Two engineers who work on the YouTube Data API, Raul Furnică and Günther Noack, participated in a BootCamp session that introduced the YouTube Data API and covered examples of how it could be used to discover and curate YouTube content. </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you’re just getting started with the YouTube Data API and want an overview of what it offers, or if you have a particular interest developing apps for content curation, please do check out the session video embedded below!</span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><iframe width="560" height="349" src="http://www.youtube.com/embed/-oEgKcqNd80" frameborder="0" allowfullscreen></iframe><br /><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-style-span" style="font-family: Times; font-size: small; white-space: normal;"><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.8517361662816256" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div></span></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-300840125492362080?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-google-io-api-bootcamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>YouTube @ Google I/O: All About Captioning</title>
		<link>https://googledata.org/youtube-api/youtube-google-io-all-about-captioning/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-google-io-all-about-captioning</link>
		<comments>https://googledata.org/youtube-api/youtube-google-io-all-about-captioning/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 15:17:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5a33c67270f08e47069b55f6bdbc948e</guid>
		<description><![CDATA[Google I/O 2011 may be over, but we’re continuing our series of blog posts recapping the great developer material covered at the event. We previously covered our talk on the iframe Player API, and the next presentation we’re highlighting is “The ...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><a href="http://www.google.com/events/io/2011/index-live.html" id="internal-source-marker_0.7696623718366027"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google I/O 2011</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> may be over, but we’re continuing our series of blog posts recapping the great developer material covered at the event. We previously covered our talk on the </span><a href="http://apiblog.youtube.com/2011/05/youtube-google-io-iframe-player-api.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">iframe Player API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and the next presentation we’re highlighting is “</span><a href="http://www.google.com/events/io/2011/sessions/the-youtube-caption-api-speech-recognition-and-webvtt-captions-for-html5.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">The YouTube Caption API, Speech Recognition, and WebVTT captions for HTML5</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">”.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The session features Jeff Posnick from the YouTube Developer Relations team, Naomi Black from the Accessibility Engineering team, and Cynthia Boedihardjo, a Live Stream Program Manager. As the session’s title suggests, a number of different topics were covered, with video accessibility and captions the common theme throughout.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The material covering the </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_captions.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Captions API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, including a </span><a href="http://code.google.com/p/gdata-samples/source/browse/trunk/gdata/captions_demo.py"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">sample application</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that demonstrates using the API from Python, will be of particular interest to the YouTube API developer community. The talk also includes some early WebKit demos of WebVTT implementations for the &lt;track&gt; element in HTML5 as well as more information and stats about the </span><a href="http://code.google.com/p/io-captions-gadget/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Live Caption gadget </span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">launched at Google I/O. The gadget provides captions alongside streaming video.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The full video of the session is embedded below, and </span><a href="http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/en/us/events/io/2011/static/presofiles/the_youtube_caption_api_speech_recognition_and_webvtt_captions_for_html5.pdf"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">the slides</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> from the talk are available as well.</span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><iframe width="560" height="349" src="http://www.youtube.com/embed/tua3DdacgOo" frameborder="0" allowfullscreen></iframe><br /><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-style-span" style="font-family: Times; font-size: small; white-space: normal;"><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.7696623718366027" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div></span></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-3522300392915229187?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-google-io-all-about-captioning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>YouTube @ Google I/O: The iframe Player API</title>
		<link>https://googledata.org/youtube-api/youtube-google-io-the-iframe-player-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-google-io-the-iframe-player-api</link>
		<comments>https://googledata.org/youtube-api/youtube-google-io-the-iframe-player-api/#comments</comments>
		<pubDate>Tue, 31 May 2011 19:22:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0c6978dedaf1c15d6e8ecf234ee0b6e8</guid>
		<description><![CDATA[Google I/O 2011 may be over, but all the great developer information lives on! We want to start our recap of YouTube-related I/O activities by highlighting our developer presentation entitled “YouTube’s iframe Player: The Future of Embedding”.The...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><a href="http://www.google.com/events/io/2011/index-live.html" id="internal-source-marker_0.24853339651599526"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google I/O 2011</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> may be over, but all the great developer information lives on! We want to start our recap of YouTube-related I/O activities by highlighting our developer presentation entitled “</span><a href="http://www.google.com/events/io/2011/sessions/youtube-s-iframe-player-the-future-of-embedding.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube’s iframe Player: The Future of Embedding</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">”.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The session features Jeff Posnick and Jarek Wilkiewicz from the YouTube Developer Relations team, and Greg Schechter, one of the engineers who works on the </span><a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">iframe Player</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://code.google.com/apis/youtube/iframe_api_reference.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">its API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Topics covered include the development of the iframe Player, challenges related to exposing an API on an iframe element, differences between the ActionScript 3 Player API and the iframe Player API, and real-world example applications that use the new API.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The full video of the session is embedded below (using the iframe Player, of course), and the </span><a href="http://www.google.com/events/io/2011/static/presofiles/youtube_iframe_player_the_future_of_embedding.pdf"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">slides from the talk</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> are available if you’d prefer to read along with the presentation. Be sure to check out the </span><a href="http://gdata-samples.googlecode.com/svn/trunk/ytplayer/iframe/index.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">sample web application</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (along with its </span><a href="http://code.google.com/p/gdata-samples/source/browse/#svn/trunk/ytplayer/iframe"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">source</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) that illustrates iframe Player API usage as well!</span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><iframe width="560" height="349" src="http://www.youtube.com/embed/bHQqvYy5KYo" frameborder="0" allowfullscreen></iframe><br /><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><div style="background-color: transparent; font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: normal;"><span id="internal-source-marker_0.24853339651599526" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7976839757752688146?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-google-io-the-iframe-player-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Reinventing News Video with Knight, Mozilla, and the YouTube API</title>
		<link>https://googledata.org/youtube-api/reinventing-news-video-with-knight-mozilla-and-the-youtube-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reinventing-news-video-with-knight-mozilla-and-the-youtube-api</link>
		<comments>https://googledata.org/youtube-api/reinventing-news-video-with-knight-mozilla-and-the-youtube-api/#comments</comments>
		<pubDate>Thu, 05 May 2011 20:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=17eff8430d45813be77f30a8ccbad213</guid>
		<description><![CDATA[(This is a guest blog post by Ben Moskowitz of the Mozilla Foundation.)Over the next few weeks, the Knight Foundation and Mozilla are running a series of news innovation challenges. The goal: get the world's smartest hackers thinking about how news org...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent;"><span id="internal-source-marker_0.8435635718051344" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">(This is a guest blog post by </span><a href="http://www.benmoskowitz.com/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Ben Moskowitz</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> of the </span><a href="http://www.mozilla.org/foundation/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Mozilla Foundation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.)</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Over the next few weeks, the </span><a href="http://www.knightfoundation.org/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Knight Foundation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://www.mozilla.org/foundation/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Mozilla</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> are running a series of </span><a href="http://knightmozilla.org/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">news innovation challenges</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The goal: get the world's smartest hackers thinking about how news organizations can harness the open web.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://drumbeat.org/en-US/challenges/unlocking-video/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">first challenge</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, which runs through </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sunday, May 8th,</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> is all about video. This is a great opportunity to be creative with the </span><a href="http://code.google.com/apis/youtube/getting_started.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube APIs</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—if you have a big, ambitious idea, you could get support from Knight and Mozilla to make it real.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://drumbeat.org/en-US/challenges/unlocking-video/full"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Check out the brief: </span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Video is a central part of many people's daily news experience. &nbsp;But despite all the opportunity offered by the open web (social, linkable, real-time, dynamic), most online video is still stuck in a boring embedded box, like "TV on a web page." This offers little in the way of context or opportunities for viewers to engage more deeply.</span></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you're reading this blog, you're probably interested in hacking web video. The challenge is: how can web video bring innovation to the news biz?</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">How would you take advantage of modern JavaScript, advanced HTML5 features, and the richness of web service APIs like YouTube's? How would you make use of the millions of connected YouTubers </span><a href="http://youtube-global.blogspot.com/2010/11/great-scott-over-35-hours-of-video.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">who upload 35 hours of video per minute</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">? What are the news video opportunities that are </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">unique</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to the web? </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube API blog is rife with possibility: check out some posts on </span><a href="http://apiblog.youtube.com/2011/04/man-vs-machine-curating-with-youtube.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">curation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://apiblog.youtube.com/2011/04/shortform-mix-and-share-worlds-videos.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">remix</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and the YouTube </span><a href="http://code.google.com/apis/youtube/chromeless_player_reference.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">chromeless player</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Read up on </span><a href="http://code.google.com/apis/youtube/ytdirect.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Direct</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, a cool open source app, or visit the </span><a href="http://youtube-gallery.appspot.com/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube API project gallery</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. While you're at it, check out </span><a href="http://popcornjs.org/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">popcorn.js</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the HTML5 video framework (now including a </span><a href="http://webmademovies.org/popcorn-in-the-planetarium/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">wrapper for the YouTube Flash player!</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">)</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">What kinds of innovations would you bring to the newsroom? How would you transform news video?</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Head over to the </span><a href="https://drumbeat.org/en-US/challenges/unlocking-video/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">challenge site and enter your idea</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Submit a short abstract, a napkin sketch, or however you choose to best express yourself. By entering your idea, you'll be eligible to take part in an online learning lab with famous hackers like Christian Heilmann, Burt Herman, Aza Raskin, John Resig. And if your idea rocks, Knight and Mozilla will fly you to Berlin for an in-person development sprint, to take your idea </span><a href="https://drumbeat.org/en-US/journalism/process/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">from napkin sketch to prototype to deployment</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Finally: five participants will be invited to become Knight-Mozilla news technology fellows. Fellowships are paid positions inside newsrooms at the BBC, Boston.com, The Guardian, Al Jazeera English, and Zeit Online, to build world class web apps for a large audience.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The challenge ends May 8th, so hurry and </span><a href="http://code.google.com/apis/youtube/overview.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">study up on the YouTube APIs.</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> For Sunday’s deadline, all you need is a great idea, a rough sketch. If you proceed to the next phases, there will be plenty of time and support to further prototype and build out your idea. Mostly, we want to get to know you through this challenge. Happy hacking!</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-6854006710962882306?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/reinventing-news-video-with-knight-mozilla-and-the-youtube-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShortForm: Mix and Share the World&#8217;s Videos</title>
		<link>https://googledata.org/youtube-api/shortform-mix-and-share-the-worlds-videos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shortform-mix-and-share-the-worlds-videos</link>
		<comments>https://googledata.org/youtube-api/shortform-mix-and-share-the-worlds-videos/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 19:56:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0d06dc200b9593fe3412904e20ed0fad</guid>
		<description><![CDATA[By Jereme Monteau, Lead Developer at ShortForm(Cross-posted from the Google Code blog, where it is a part of Who's at Google I/O, a series of guest blog posts written by developers who are appearing in the Developer Sandbox at Google I/O.)ShortForm is ...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent;"><a href="https://lh5.googleusercontent.com/TyRzHmnxjkGZOHkDcKKp1aI3Ikj8GPYrEX9iaDzD5KhkfkvOsQGB0bD8enftBbjVnyxqa3bVwQRe8peIQrmGUZydqX-ZmMZzMkVro_nXdRdMR8GHYlHuJjcXWnzs8R18" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="80px;" src="https://lh5.googleusercontent.com/TyRzHmnxjkGZOHkDcKKp1aI3Ikj8GPYrEX9iaDzD5KhkfkvOsQGB0bD8enftBbjVnyxqa3bVwQRe8peIQrmGUZydqX-ZmMZzMkVro_nXdRdMR8GHYlHuJjcXWnzs8R18" width="80px;" /></a><span class="Apple-style-span" style="font-family: Tahoma;"><span class="Apple-style-span" style="white-space: pre-wrap;"><i>By <a href="http://www.shortform.com/jerememonteau">Jereme Monteau</a>, Lead Developer at <a href="http://www.shortform.com/">ShortForm</a></i></span></span></div><div style="background-color: transparent;"><span class="Apple-style-span" style="font-family: Tahoma;"><i><br /></i></span></div><div style="background-color: transparent;"><span class="Apple-style-span" style="font-family: Tahoma;"><i>(Cross-posted from the <a href="http://googlecode.blogspot.com/2011/04/shortform-mix-and-share-worlds-videos.html">Google Code</a> blog, where it is a part of <a href="http://googlecode.blogspot.com/search/label/Who's%20at%20Google%20I/O">Who's at Google I/O</a>, a series of guest blog posts written by developers who are appearing in the <a href="http://www.google.com/events/io/2011/sandbox.html">Developer Sandbox</a> at <a href="http://www.google.com/events/io/2011/">Google I/O</a>.)</i></span></div><div style="background-color: transparent;"><br /></div><div style="background-color: transparent;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><a href="http://www.shortform.com/">ShortForm</a></span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> is a new entertainment medium where you find continuous channels of the best videos, curated by a growing community of VJs. At ShortForm you can be a viewer, a VJ, or both. Viewers subscribe to channels of interest, lean back, and enjoy a continuous stream of videos. VJs mix and share the world’s best videos into continuous channels.</span></div><div style="background-color: transparent;"><span class="Apple-style-span" style="font-family: Tahoma;"><span class="Apple-style-span" style="white-space: pre-wrap;"><br /></span></span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><img height="381px;" src="https://lh6.googleusercontent.com/nbzxS4UoTiAKUzSv0CFQB4hsEo1lDX7YAtObrPBhHNY4cSbI6hhheuJ_vBCzQpT6ZCWtEjXZ1mO8SfSz8ltyi9Byq8n-cWoGfdRWKjcJNeMLHqyi_peAKI7O-TXtFuVo" width="678px;" /><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The developers at ShortForm worked with various </span><a href="http://code.google.com/apis/youtube/getting_started.html#data_api"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Data APIs</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in order to deliver both the Viewer and VJ experience. &nbsp;</span><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Standard Feeds and User Playlists: &nbsp;</span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ShortForm makes it easy and fun for anyone to VJ a channel. We also auto-curate a select set of channels to surface mainstream content that would appeal to most audiences. For example, our</span><a href="http://www.shortform.com/perry.short"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Hits</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> channel includes content from the standard YouTube video feeds such as Top Rated, Most Viewed and Most Popular. ShortForm developed a system for retrieving video entries and their associated metadata, and then ordering them in playlists based on a ranking algorithm.</span></div><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Favorites and Uploads:</span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;ShortForm allows VJs to import their YouTube favorites and uploads into their channels quickly and easily by authenticating via YouTube’s OAuth provider. Once a user has connected their ShortForm account to their YouTube account, we are able to allow them to import their favorites and uploads through an authenticated call to the </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_audience.html"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Data API</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. In the future we will streamline the process of uploading videos to YouTube by allowing VJs to upload videos to YouTube directly from ShortForm while adding those videos to their ShortForm channel in the same flow.</span></div><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><img height="380px;" src="https://lh3.googleusercontent.com/Rk56dbGOJ7Hrr8KFUYptczDpwMY2d1qYn9TR4Y33IB2CFqlx5hQulf_Z_Xp_UtPfjJae82TT6iQP6tYxazCTsstIHVMw9-Beum6dnHw6Hr2ABVxSpmtmzKqbG0SPyhFU" width="676px;" /><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Player API:</span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;Providing a seamless channel viewing experience on ShortForm requires that we integrate tightly with </span><a href="http://code.google.com/apis/youtube/js_api_reference.html"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube’s JavaScript API</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to the ActionScript 3 player. This allows us to properly handle video events to ensure continuous playback. Users have full control over their viewing experience using the next and previous video buttons, which load videos into the YouTube player. We have also begun integrating with the new </span><a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html"><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">iframe</span></a><a href="http://code.google.com/apis/youtube/iframe_api_reference.html"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> API</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> interface that is currently in beta and have seen promising results in our initial tests across desktop and mobile platforms.</span></div><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Android Tablet: </span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Tablet computing represents an exciting opportunity for ShortForm to provide a first class viewing experience in a new package. We have begun testing and looking for places to optimize the viewing experience on tablet devices. </span></div><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ShortForm Widget: </span><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Our embeddable widget syntax was inspired by YouTube’s </span><a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">new </span><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">iframe</span><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> embed syntax</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. We believe this is the simplest, most flexible and most powerful way to allow our users to embed their channels anywhere on the web. </span></div><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We are thrilled to be a part of Google I/O and in order to demonstrate the power of ShortForm, we are putting together a Google I/O Sandbox channel, a continuous channel of product pitches and demos from companies represented in the </span><a href="http://www.google.com/events/io/2011/sandbox.html"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">I/O Developer Sandbox</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. We invite all Sandbox companies to submit a video of their product pitch or demo. &nbsp;Details can be found at the</span><a href="http://www.shortform.com/googleio"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> ShortForm at Google I/O</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> page. Well use the channel to preview cool companies in the Sandbox before the conference. The channel will also provide media members with a summary of all the technology from all sandbox companies.</span><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Lastly, we are going to have a little fun and invite all attendees to vote on their favorite pitches and demos. Submit your video on the</span><a href="http://www.shortform.com/googleio"><span style="background-color: transparent; color: #000099; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> ShortForm at Google I/O</span></a><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> page. We’ll surface a leaderboard showing videos with the top votes, and the winning entry will be highlighted in a press release and will get prime placement on ShortForm’s homepage for one week, reaching hundreds of thousands of people. &nbsp;</span><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><br /><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>Come see ShortForm in the <a href="http://www.google.com/events/io/2011/sandbox.html">Developer Sandbox</a> at <a href="http://www.google.com/events/io/2011/">Google I/O</a> on May 10-11.</i></span></div><div style="background-color: transparent;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i><br /></i></span></div><div style="background-color: transparent;"><span style="background-color: transparent; color: black; font-family: Tahoma; font-size: 12pt; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>As a founding member of ShortForm Jereme has been hacking around with the YouTube APIs for over a year now and has been building software for 15 years. When he’s not coding he’s probably trail running or roasting his own coffee while eagerly anticipating the arrival of his first child in June!</i></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-5557243124854505041?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/shortform-mix-and-share-the-worlds-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deprecating Equine-Frame Embedding</title>
		<link>https://googledata.org/youtube-api/deprecating-equine-frame-embedding/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=deprecating-equine-frame-embedding</link>
		<comments>https://googledata.org/youtube-api/deprecating-equine-frame-embedding/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 04:15:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=dd64b3fb361e69a69517e27f4fe7dfef</guid>
		<description><![CDATA[Although equine-frame embedding of YouTube moving pictures was launched with great huzzabulloo a few short months ago, we regret that we can no longer recommend this horsey practice. While playback quality was smashing, bareback riding quality invariab...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent;"><span id="internal-source-marker_0.5109765145462006" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Although equine-frame embedding of YouTube moving pictures was launched with great huzzabulloo a few short months ago, we regret that we can no longer recommend this horsey practice. While playback quality was smashing, bareback riding quality invariably suffered as a result of the large projector apparatus embedded in the horse’s frame.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As an alternative, we suggest a return to the traditional practice of affixing a portrait of your local constable to the mane of your steed for entertainment on-the-go. When your horse gallops, it will look like the officer is dancing the hully-gully.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Thankfully, progress doesn’t halt with a single setback. We are working closely with various motor-car manufactures, and hope to offer a preview of Model T-frame embedding in time for the next World’s Fair!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Web-logged by Jeffrey Posnick, who does not suggest embedding anything in a horse that you might want back at a later date.</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-1208392148848309966?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/deprecating-equine-frame-embedding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ClientLogin #FAIL</title>
		<link>https://googledata.org/youtube-api/clientlogin-fail/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clientlogin-fail</link>
		<comments>https://googledata.org/youtube-api/clientlogin-fail/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 17:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=caaba6c11ba0aa6eb72a8b35d73ef231</guid>
		<description><![CDATA[The YouTube API supports a number of authentication schemes—AuthSub, OAuth 1 and 2, and ClientLogin—but it’s that last method, ClientLogin, that is in many ways the most problematic. This blog post will cover some of the ways ClientLogin attempts...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent;"><span id="internal-source-marker_0.02877753577195108" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube API supports a number of authentication schemes—</span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_authsub.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">AuthSub</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_oauth.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">OAuth 1</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://code.google.com/apis/accounts/docs/OAuth2.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">2</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_clientlogin.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ClientLogin</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—but it’s that last method, ClientLogin, that is in many ways the most problematic. This blog post will cover some of the ways ClientLogin attempts can fail, and when possible, provide ways of working around those failures.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Before we get into that, though, a bit of a public service announcement: given all the ways that things can go wrong when using ClientLogin, please consider using one of the alternative methods of authentication that the YouTube API supports! AuthSub and in particular OAuth 2 are straightforward to implement and aren’t susceptible to the issues that we’ll cover with ClientLogin. Even if you’re writing a small script for personal use, obtaining one long-lived AuthSub or OAuth 2 token and reusing that for authentication is preferable to hardcoding a login name and password for ClientLogin. And just because your code doesn’t have access to a web browser doesn’t mean that ClientLogin is your only option—</span><a href="http://code.google.com/apis/accounts/docs/OAuth2.html#IA"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">this guide</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> covers techniques for using OAuth 2 in such scenarios.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With that out of the way, let’s investigate some failures!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Scenario 1: A user with an </span><a href="http://youtube-global.blogspot.com/2010/07/connecting-google-account-to-your-older.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">unlinked</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> YouTube account attempts ClientLogin.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This scenario won’t actually lead to a failure as of right now, but it will in the near future. As was </span><a href="http://youtube-global.blogspot.com/2011/03/why-connecting-your-youtube-and-google.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">recently announced</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> on the main YouTube blog, all YouTube accounts must be linked to a Google Account or else logins will start fail—</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">the current plan is to disable logins for unlinked accounts towards the end of April</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The only workaround is to have your users link their YouTube account to a Google Account. If they login from a web browser, either at </span><a href="http://www.youtube.com/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">www.youtube.com</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> or using AuthSub/OAuth, they’ll be taken through the steps to link accounts. It’s important to note that while we are requiring linked accounts, we will continue to accept either a YouTube username or a Google Account email address as the </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Email</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> parameter in the ClientLogin request.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Scenario 2: A user who has enabled to OpenID federated sign-in attempts ClientLogin.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="http://www.google.com/support/accounts/bin/static.py?page=guide.cs&amp;guide=1204325&amp;topic=1204326"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Federerated sign-in using OpenID</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> is a new method of authenticating Google Accounts that correspond to email addresses on specific email providers (currently Yahoo! and AOL). It is currently being offered on an opt-in basis, so for the time being, just because someone’s Google Account is associated with an </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">@yahoo.com</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> or </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">@aol.com</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> address does not mean that they are using Federated sign-in. For the users who have opted-in, ClientLogin will no longer work at all. With Federated sign-in, all login requests need to be processed by the identity provider, and Google’s ClientLogin servers cannot relay the credentials to a third-party server on the user’s behalf. Because AuthSub and both versions of OAuth are web-based, users can log in directly on the identity provider’s site and have that redirect back to Google’s servers to issue the appropriate AuthSub or OAuth token. Migrating off of ClientLogin to AuthSub or OAuth is the only way to provide authentication that works with OpenID accounts.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Scernario 3: A user who has enabled 2-step verification attempts ClientLogin.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This scenario, and the reasons why it will result in a failure, is covered in detail in an </span><a href="http://apiblog.youtube.com/2011/03/best-practices-for-user-authentication.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">earlier blog post</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The important takeaway is that a user with 2-step verification enabled needs to </span><a href="http://www.google.com/support/accounts/bin/static.py?page=guide.cs&amp;guide=1056283&amp;topic=1056286"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">generate application-specific passwords</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> for each application that requires ClientLogin, and provide that password instead of their normal Google Account password. Alternatively, using AuthSub or OAuth allows you users to log in using their two factor credentials directly, leading to a better user experience.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Scenario 4: A user encounters a CAPTCHA when attempting ClientLogin.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This is not a new failure scenario, but it’s often overlooked by developers who don’t properly handle it. The </span><a href="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ClientLogin documentation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> includes recommendations for how your application should handle CAPTCHA responses from ClientLogin attempts. If you’re using AuthSub or OAuth, your application does not need to worry about logic for handling CAPTCHAs—it’s taken care of for you by the standard AuthSub and OAuth login process.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This may seem like an exhaustive list of failure scenarios, but as we continue to iterate on the login experience for YouTube and Google Accounts, chances are more “gotchas” will crop up in the future. We’ll do our best to keep our developer community informed, but the best way to future-proof your application is to stop using ClientLogin!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Update</b></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">: A <a href="http://www.google.com/events/io/2011/index-live.html">Google I/O 2011</a> session borrowed this blog post's title and covered similar material (though not YouTube-specific). Check out the <a href="http://www.google.com/events/io/2011/sessions/clientlogin-fail.html">ClientLogin #FAIL session's</a> video embedded below:</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><br /><iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/fud6NKljgPU" width="560"></iframe><br /><span class="Apple-style-span" style="font-family: Arial;"><span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"> </span></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeffrey Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-5062456104786258048?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/clientlogin-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Best Practices for User Authentication</title>
		<link>https://googledata.org/youtube-api/best-practices-for-user-authentication/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=best-practices-for-user-authentication</link>
		<comments>https://googledata.org/youtube-api/best-practices-for-user-authentication/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 16:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0b63a02777190463d9bd1a58e8ea84ab</guid>
		<description><![CDATA[(Cross-posted from the Google Code blog.)By now, many of you have seen our&#160;recent announcement&#160;regarding 2-step verification for Google Accounts. It’s an optional way of protecting your Google Account from unauthorized access, providing a l...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"><div><span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"><i>(Cross-posted from the <a href="http://googlecode.blogspot.com/2011/03/best-practices-for-user-authentication.html">Google Code</a> blog.)</i></span></div><div><span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"><br /></span></div>By now, many of you have seen our&nbsp;<a href="http://googleblog.blogspot.com/2011/02/advanced-sign-in-security-for-your.html">recent announcement</a>&nbsp;regarding 2-step verification for Google Accounts. It’s an optional way of protecting your Google Account from unauthorized access, providing a level of security beyond that of a password alone. The initial announcement did not detail the impact enabling 2-step verification has on programmatic account access from code written against one of Google’s official APIs. We want to go into some more detail regarding the implications of 2-step verification on various authentication (and authorization) techniques, and offer best practices that you as a developer should follow.<br /><br />There are three forms of authentication supported by almost all of Google’s APIs.&nbsp;<a href="http://code.google.com/apis/accounts/docs/AuthSub.html">AuthSub</a>&nbsp;and<a href="http://code.google.com/apis/accounts/docs/OAuth.html">OAuth</a>&nbsp;(either version 1 or the newer&nbsp;<a href="http://code.google.com/apis/accounts/docs/OAuth2.html">OAuth 2</a>) are similar web-based authentication mechanisms in which the user logs in on a web page hosted by Google. The other approach to authentication,&nbsp;<a href="http://code.google.com/apis/gdata/docs/auth/overview.html#ClientLogin">ClientLogin</a>, relies on your application soliciting the user’s account address and password, and then sending that information to Google.<br /><br />If your code uses AuthSub or OAuth, then you don’t have to do anything special to accommodate users who have opted-in to 2-step verification. The web-based login flow currently allows users to enter both their normal passwords as well as the additional verification code, and this extra step is transparent to you as the developer.<br /><br />ClientLogin, however, does not fare as well for accounts that have 2-step verification enabled. There is no concept of an additional verification code in the ClientLogin process, and a user’s account address and password are no longer sufficient for authenticating them once 2-step verification is turned on. If you make a ClientLogin authentication request for such an account, you’ll get back an&nbsp;<code style="color: #007000; font-family: monospace; font-size: 1.2em;">HTTP 403</code>&nbsp;error response from our servers with the following in error included in the response body:<br /><blockquote><code style="color: #007000; font-family: monospace; font-size: 1.2em;"><br />Error=BadAuthentication<br />Info=InvalidSecondFactor</code></blockquote><br />There are two solutions to these failed ClientLogin attempts. The first solution, which does not require changing any existing code, is to ask your users to&nbsp;<a href="https://www.google.com/accounts/IssuedAuthSubTokens">generate an application-specific password</a>&nbsp;and to provide that, instead of their Google Account passwords, when making your ClientLogin request. You can point your users to&nbsp;<a href="http://www.google.com/support/accounts/bin/static.py?page=guide.cs&amp;guide=1056283&amp;topic=1056286">this article</a>&nbsp;for a full explanation of how application-specific passwords work.<br /><br />The second, and recommended, solution requires some work on your part as a developer: moving away from ClientLogin completely, in favor of OAuth 2. If your code runs as part of a web application, then OAuth 2’s web-based login flow is trivial to integrate. Even applications that are installed on a user’s computer or other device can leverage OAuth 2, though.&nbsp;<a href="http://code.google.com/apis/accounts/docs/OAuth2.html#IA">This guide</a>&nbsp;explains how to launch a web browser to handle the login process, and then redirect control back to your application.<br /><br />While it may take some effort to migrate your code away from ClientLogin, your users will be grateful that you did. Even those who haven’t enabled 2-step verification will benefit from entering their credentials on a web page accessed via HTTPS and hosted by Google, as opposed to sharing their password information directly with your third party code.<br /><br /><span class="byline-author" style="font-style: italic;">By Jeffrey Posnick, Google Developer Relations</span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-2872187173597292104?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/best-practices-for-user-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTPS Support for YouTube Embeds</title>
		<link>https://googledata.org/youtube-api/https-support-for-youtube-embeds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=https-support-for-youtube-embeds</link>
		<comments>https://googledata.org/youtube-api/https-support-for-youtube-embeds/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 03:38:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=aff7ec704bdc95ea606f705073a0f613</guid>
		<description><![CDATA[HTTPS, the secure counterpart to HTTP, wraps a layer of encryption around the information traveling between your computer and a web server. YouTube already uses HTTPS to encrypt sensitive data during the account login process. Now we’re planning a gr...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><a href="http://en.wikipedia.org/wiki/HTTP_Secure" id="internal-source-marker_0.37823219737038016"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">HTTPS</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the secure counterpart to HTTP, wraps a layer of encryption around the information traveling between your computer and a web server. YouTube already uses HTTPS to encrypt sensitive data during the account login process. Now we’re planning a gradual expansion of HTTPS across other aspects of the site. The first place you may see HTTPS YouTube URLs is in our various embed codes, all of which currently support HTTPS in addition to the standard HTTP. Anyone can try HTTPS with YouTube embeds today—simply change the protocol portion of the URL from </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">http</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">https</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. For example, </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">http://www.youtube.com/embed/Zhawgd0REhA</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> becomes </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">https://www.youtube.com/embed/Zhawgd0REhA</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. This applies to URLs found in our newer </span><a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html"><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">&lt;iframe&gt;</span><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> embeds</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> as well as our older-style </span><span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 15px; white-space: pre-wrap;">&lt;</span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">object&gt;</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> +&nbsp;</span><span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 15px; white-space: pre-wrap;">&lt;</span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">embed&gt;</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> codes.</span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Courier New';"><span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></span></span></div><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If any of your existing code attempts to parse YouTube embed URLs that are entered by end-users, it’s important that you support both HTTP and HTTPS as the URL’s protocol across all the varieties of YouTube embed codes.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Most web browsers will warn users when they access web pages via HTTPS that contain embedded content loaded via HTTP. If your main site is currently accessed via HTTPS, using the new HTTPS URLs for your YouTube embeds will prevent your users from running into that warning. If your site can be accessed either via HTTP or HTTPS, you could employ protocol-relative URLs instead of hardcoding a value; </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">//www.youtube.com/</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> will automatically resolve to HTTP or HTTPS depending on the protocol used by the host page.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It’s very important to note that this is just a first step in enabling HTTPS for the entire YouTube viewing experience. In particular, only the YouTube player code is accessible via HTTPS at this time. The actual video bitstream, and some additional content loaded by the YouTube player may still be accessed via standard HTTP connections when you use an HTTPS URL in your embed code. Also note that HTTPS remains optional for YouTube embeds; we have no plans to turn off support for the HTTP URLs.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you have any comments or questions about this change, please let us know in the </span><a href="http://groups.google.com/group/youtube-api-gdata"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube API developer’s forum</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">–Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-3321918916594518856?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/https-support-for-youtube-embeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube Captions Uploader Web App</title>
		<link>https://googledata.org/youtube-api/youtube-captions-uploader-web-app-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-captions-uploader-web-app-2</link>
		<comments>https://googledata.org/youtube-api/youtube-captions-uploader-web-app-2/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 21:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e145f7a93e4f9cc65b4103766f4e9b87</guid>
		<description><![CDATA[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’...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.5993184219114482" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Captions can greatly enhance the experience of viewing a YouTube video, and the YouTube API has offered developers ways to </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_captions.html#Create_Caption_Track"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">upload</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_captions.html#Retrieve_Caption_Track"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">retrieve</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> caption data in authorized requests for a while now. However, the various YouTube API </span><a href="http://code.google.com/apis/youtube/code.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">client libraries</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> don’t natively support interacting with captions at this time, and writing your own code for uploading or retrieving captions can be challenging.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With that in mind, we're happy to announce the </span><a href="http://code.google.com/p/youtube-captions-uploader/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Captions Uploader</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> 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 </span><a href="http://code.google.com/appengine/docs/java/channel/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Channel API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the </span><a href="http://code.google.com/appengine/docs/java/blobstore/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Blobstore Service</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="http://code.google.com/appengine/docs/java/taskqueue/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Task Queues</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. And even if you're not an App Engine developer, we hope that the </span><a href="http://code.google.com/p/youtube-captions-uploader/source/browse/trunk/yt-caption-uploader/src/com/google/youtube/captions/SubmitCaptionTask.java"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">code</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that interacts with the YouTube API's captions service will provide a good starting point for writing your own code.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In addition to open sourcing the code for this project, we’re also running the code itself on a public App Engine instance, </span><a href="http://yt-captions-uploader.appspot.com/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://yt-captions-uploader.appspot.com/</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. So, even if you're not a developer, you can still use the application to upload captions for videos in your YouTube account.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Please share your comments or feedback via the project’s </span><a href="http://code.google.com/p/youtube-captions-uploader/issues/list"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">issue tracker</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. We hope that you find it useful both as a standalone web application and as a starting point for writing your own code!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7907318913188033165?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-captions-uploader-web-app-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube Captions Uploader Web App</title>
		<link>https://googledata.org/youtube-api/youtube-captions-uploader-web-app/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-captions-uploader-web-app</link>
		<comments>https://googledata.org/youtube-api/youtube-captions-uploader-web-app/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 21:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[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’...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.5993184219114482" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Captions can greatly enhance the experience of viewing a YouTube video, and the YouTube API has offered developers ways to </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_captions.html#Create_Caption_Track"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">upload</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_captions.html#Retrieve_Caption_Track"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">retrieve</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> caption data in authorized requests for a while now. However, the various YouTube API </span><a href="http://code.google.com/apis/youtube/code.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">client libraries</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> don’t natively support interacting with captions at this time, and writing your own code for uploading or retrieving captions can be challenging.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With that in mind, we're happy to announce the </span><a href="http://code.google.com/p/youtube-captions-uploader/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Captions Uploader</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> 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 </span><a href="http://code.google.com/appengine/docs/java/channel/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Channel API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the </span><a href="http://code.google.com/appengine/docs/java/blobstore/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Blobstore Service</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="http://code.google.com/appengine/docs/java/taskqueue/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Task Queues</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. And even if you're not an App Engine developer, we hope that the </span><a href="http://code.google.com/p/youtube-captions-uploader/source/browse/trunk/yt-caption-uploader/src/com/google/youtube/captions/SubmitCaptionTask.java"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">code</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that interacts with the YouTube API's captions service will provide a good starting point for writing your own code.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In addition to open sourcing the code for this project, we’re also running the code itself on a public App Engine instance, </span><a href="http://yt-captions-uploader.appspot.com/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://yt-captions-uploader.appspot.com/</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. So, even if you're not a developer, you can still use the application to upload captions for videos in your YouTube account.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Please share your comments or feedback via the project’s </span><a href="http://code.google.com/p/youtube-captions-uploader/issues/list"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">issue tracker</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. We hope that you find it useful both as a standalone web application and as a starting point for writing your own code!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7907318913188033165?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-captions-uploader-web-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Chrome Extension for YouTube Activity Feeds</title>
		<link>https://googledata.org/youtube-api/a-chrome-extension-for-youtube-activity-feeds-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-chrome-extension-for-youtube-activity-feeds-2</link>
		<comments>https://googledata.org/youtube-api/a-chrome-extension-for-youtube-activity-feeds-2/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 19:17:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=cd2a2be16c961769493ce0c6e1fe4cb3</guid>
		<description><![CDATA[Slave Jovanovski, an engineer at YouTube, has put together a Google Chrome extension that should be of interest to the YouTube API community. It’s called YouTube Feed, and after installing and authenticating with your YouTube account, it automaticall...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.4148208424448967" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Slave Jovanovski, an engineer at YouTube, has put together a </span><a href="https://chrome.google.com/extensions"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Chrome extension</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that should be of interest to the YouTube API community. It’s called </span><a href="https://chrome.google.com/extensions/detail/ghmclllfjjmmdmhjobjdgfnggfhljboa"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Feed</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and after installing and authenticating with your YouTube account, it automatically will fetch your YouTube social activity stream (both subscriptions and friends’ actions) while you use Google Chrome. When a new event, like a YouTube friend uploading or commenting on a video, takes place, the extension will notify you and provide details on the activity, as well as links to view the actual video. You have control over which types of activities you’d like to be notified about, as well as how frequently you’d like the extension to check for updates.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">While you’ll hopefully find the extension useful on its own merits, the fact that the source code has been released as part of an </span><a href="http://code.google.com/p/youtube-feed-chrome-extension/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">open source project</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> means that the extension’s code can serve as inspiration (or a jumping off point) for writing your own JavaScript code that interacts with the YouTube API. Curious as to how to use OAuth to authenticate YouTube accounts from a Chrome Extension? Or request JSON data with a JavaScript callback? The answers await you in the </span><a href="http://code.google.com/p/youtube-feed-chrome-extension/source/checkout"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">source code</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">–Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-3502411706479214692?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/a-chrome-extension-for-youtube-activity-feeds-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Chrome Extension for YouTube Activity Feeds</title>
		<link>https://googledata.org/youtube-api/a-chrome-extension-for-youtube-activity-feeds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-chrome-extension-for-youtube-activity-feeds</link>
		<comments>https://googledata.org/youtube-api/a-chrome-extension-for-youtube-activity-feeds/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 19:17:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Slave Jovanovski, an engineer at YouTube, has put together a Google Chrome extension that should be of interest to the YouTube API community. It’s called YouTube Feed, and after installing and authenticating with your YouTube account, it automaticall...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.4148208424448967" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Slave Jovanovski, an engineer at YouTube, has put together a </span><a href="https://chrome.google.com/extensions"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Chrome extension</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that should be of interest to the YouTube API community. It’s called </span><a href="https://chrome.google.com/extensions/detail/ghmclllfjjmmdmhjobjdgfnggfhljboa"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Feed</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and after installing and authenticating with your YouTube account, it automatically will fetch your YouTube social activity stream (both subscriptions and friends’ actions) while you use Google Chrome. When a new event, like a YouTube friend uploading or commenting on a video, takes place, the extension will notify you and provide details on the activity, as well as links to view the actual video. You have control over which types of activities you’d like to be notified about, as well as how frequently you’d like the extension to check for updates.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">While you’ll hopefully find the extension useful on its own merits, the fact that the source code has been released as part of an </span><a href="http://code.google.com/p/youtube-feed-chrome-extension/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">open source project</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> means that the extension’s code can serve as inspiration (or a jumping off point) for writing your own JavaScript code that interacts with the YouTube API. Curious as to how to use OAuth to authenticate YouTube accounts from a Chrome Extension? Or request JSON data with a JavaScript callback? The answers await you in the </span><a href="http://code.google.com/p/youtube-feed-chrome-extension/source/checkout"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">source code</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">–Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-3502411706479214692?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/a-chrome-extension-for-youtube-activity-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accelerating YouTube Playback</title>
		<link>https://googledata.org/uncategorized/accelerating-youtube-playback/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=accelerating-youtube-playback</link>
		<comments>https://googledata.org/uncategorized/accelerating-youtube-playback/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 15:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The YouTube Players team’s goal is to make sure that watching videos online is as enjoyable an experience as possible. As a viewer, maximizing enjoyment usually involves some tradeoffs: sure, you can watch a 1080p high definition version of the newes...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.2152435181196779" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube Players team’s goal is to make sure that watching videos online is as enjoyable an experience as possible. As a viewer, maximizing enjoyment usually involves some tradeoffs: sure, you can watch a 1080p high definition version of the newest movie trailer, but that might mean choppy playback as your computer strains to keep up with the more demanding processing required. We wanted to let you know about some changes we’re making to help minimize those tradeoffs, so that you can watch smoother, higher-quality video from your existing devices.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Adobe’s </span><a href="http://blogs.adobe.com/flashplayer/2011/02/flash-player-10-2-launch.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">recently announced</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Flash Player 10.2 release supports a new, more efficient video display mechanism known as the Stage Video API. The full details of how and why Stage Video speeds up video display can be found in Adobe’s </span><a href="http://www.adobe.com/devnet/flashplayer/stagevideo.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">technical documentation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The Players Team will be gradually experimenting with Stage Video playbacks on YouTube.com in the coming weeks, but as a developer using the ActionScript 3 Player APIs, you can enable Stage Video playback for your embedded video right away; simply add the </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wmode=direct </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">parameter to the player URL that you’re using to reference the YouTube video. You’ll need the </span><a href="http://www.adobe.com/support/flashplayer/downloads.html#fp10.2"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Flash Player 10.2 installed</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to take advantage of the accelerated playback, but playbacks will work for users with older Flash Player versions as well.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Players Team knows that Stage Video for Flash playbacks is just one path to take toward improving video playback performance across the web. For example, YouTube playbacks using the </span><a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">new &lt;iframe&gt; embeds</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> will automatically benefit as </span><a href="http://blog.chromium.org/2010/08/chromium-graphics-overhaul.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">more</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">more</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (and <a href="http://blog.mozilla.com/joe/2010/05/25/hardware-accelerating-firefox/">more</a>) modern browsers add hardware acceleration for the native HTML5 &lt;video&gt; element.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Jeff Posnick, on behalf of the YouTube Players team</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">(Updated 2011-02-09 to reflect the production release of Flash Player 10.2.)</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-1249993424335777284?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/accelerating-youtube-playback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accelerating YouTube Playback</title>
		<link>https://googledata.org/uncategorized/accelerating-youtube-playback-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=accelerating-youtube-playback-2</link>
		<comments>https://googledata.org/uncategorized/accelerating-youtube-playback-2/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 15:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=8347d78d1e76c43567c4a883d09b9661</guid>
		<description><![CDATA[The YouTube Players team’s goal is to make sure that watching videos online is as enjoyable an experience as possible. As a viewer, maximizing enjoyment usually involves some tradeoffs: sure, you can watch a 1080p high definition version of the newes...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.2152435181196779" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube Players team’s goal is to make sure that watching videos online is as enjoyable an experience as possible. As a viewer, maximizing enjoyment usually involves some tradeoffs: sure, you can watch a 1080p high definition version of the newest movie trailer, but that might mean choppy playback as your computer strains to keep up with the more demanding processing required. We wanted to let you know about some changes we’re making to help minimize those tradeoffs, so that you can watch smoother, higher-quality video from your existing devices.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Adobe’s </span><a href="http://blogs.adobe.com/flashplayer/2011/02/flash-player-10-2-launch.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">recently announced</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Flash Player 10.2 release supports a new, more efficient video display mechanism known as the Stage Video API. The full details of how and why Stage Video speeds up video display can be found in Adobe’s </span><a href="http://www.adobe.com/devnet/flashplayer/stagevideo.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">technical documentation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The Players Team will be gradually experimenting with Stage Video playbacks on YouTube.com in the coming weeks, but as a developer using the ActionScript 3 Player APIs, you can enable Stage Video playback for your embedded video right away; simply add the </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wmode=direct </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">parameter to the player URL that you’re using to reference the YouTube video. You’ll need the </span><a href="http://www.adobe.com/support/flashplayer/downloads.html#fp10.2"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Flash Player 10.2 installed</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to take advantage of the accelerated playback, but playbacks will work for users with older Flash Player versions as well.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Players Team knows that Stage Video for Flash playbacks is just one path to take toward improving video playback performance across the web. For example, YouTube playbacks using the </span><a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">new &lt;iframe&gt; embeds</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> will automatically benefit as </span><a href="http://blog.chromium.org/2010/08/chromium-graphics-overhaul.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">more</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">more</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (and <a href="http://blog.mozilla.com/joe/2010/05/25/hardware-accelerating-firefox/">more</a>) modern browsers add hardware acceleration for the native HTML5 &lt;video&gt; element.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Jeff Posnick, on behalf of the YouTube Players team</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">(Updated 2011-02-09 to reflect the production release of Flash Player 10.2.)</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-1249993424335777284?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/accelerating-youtube-playback-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Channels to Feed On</title>
		<link>https://googledata.org/youtube-api/more-channels-to-feed-on/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=more-channels-to-feed-on</link>
		<comments>https://googledata.org/youtube-api/more-channels-to-feed-on/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 20:51:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The YouTube API’s standard feeds are a great way to expose your users to the best of what YouTube has to offer. To compliment the existing standard video feeds, which contain lists of individual videos that meet certain criteria (the top rated videos...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.005724382819607854" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube API’s standard feeds are a great way to expose your users to the best of what YouTube has to offer. To compliment the existing </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#Standard_feeds"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">standard video feeds</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, which contain lists of individual videos that meet certain criteria (the top rated videos in the United States for the current day, </span><a href="http://gdata.youtube.com/feeds/api/standardfeeds/US/top_rated?v=2&amp;prettyprint=true&amp;time=today"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">for instance</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">), we’re happy to introduce a new set of </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_channel_search.html#Channel_Standard_Feeds"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">standard channel feeds</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">While standard video feeds contain lists of videos, </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_channel_search.html#Channel_Standard_Feeds"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">standard channel feeds</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> contain lists of channels, or user accounts. The two types of standard channel feeds are </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">most_viewed</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">most_subscribed</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and just like with video feeds you can narrow down your results even further with time, region, and </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_channel_search.html#Channel_Standard_Feeds_by_Category"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">category</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> or </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_channel_search.html#Channel_Standard_Feeds_by_User_Type"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">user type</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> parameters. For example, the URL for requesting the most viewed channels with videos related to music in Great Britain for the past week is </span><a href="http://gdata.youtube.com/feeds/api/channelstandardfeeds/GB/most_viewed/-/Music?v=2&amp;time=this_week"><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://gdata.youtube.com/feeds/api/channelstandardfeeds/GB/most_viewed/-/Music?v=2&amp;time=this_week</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Each entry in a standard channel feed provides detailed information about a specific YouTube channel, including a </span><a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:channelStatistics"><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><yt:channelstatistics></yt:channelstatistics></span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> element with info on how many comments, videos, and views that channel has received.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Once you have these lists of channels, a natural next step would be to allow your logged-in users to </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_subscriptions.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">subscribe</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to a given channel or view a list of videos </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_video_feeds.html#User_Uploaded_Videos"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">uploaded</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in that channel.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Standard channel feeds are only available in version 2 of the YouTube API, which will </span><a href="http://apiblog.youtube.com/2010/09/staging-server-now-defaults-to-youtube.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">soon be the default version</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in the production environment. In the meantime, be sure to </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#API_Versioning"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">explicitly specify</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that you want to use version 2 when making your YouTube API requests.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-4357926503500809365?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/more-channels-to-feed-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update to the ClientLogin URL</title>
		<link>https://googledata.org/youtube-api/update-to-the-clientlogin-url/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=update-to-the-clientlogin-url</link>
		<comments>https://googledata.org/youtube-api/update-to-the-clientlogin-url/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 20:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[We want to let the developer community know about a change to the officially supported URL for YouTube API ClientLogin requests. Previously, developers who wanted to obtain authentication credentials via a username and password had to send their Client...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.25330027588643134" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We want to let the developer community know about a change to the officially supported URL for YouTube API </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_clientlogin.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ClientLogin</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> requests. Previously, developers who wanted to obtain authentication credentials via a username and password had to send their ClientLogin request to </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">https://www.google.com/youtube/accounts/ClientLogin</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The new URL that we encourage all developers to use is </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">https://www.google.com/accounts/ClientLogin</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. This new URL has been functional for a while, and is the same URL that other Google APIs use for ClientLogin requests. Switching YouTube API ClientLogin traffic to the standard URL ensures that developers across all of Google’s APIs will see standard behavior when logging users in.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">All of the details regarding this switch as well as best practices for performing ClientLogin requests can be found in our YouTube API </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_clientlogin.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">documentation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. There is one specific change in behavior that is worth calling out: responses from the new ClientLogin URL will not include the YouTube username of the authenticated user, which the old URL’s responses did provide. We encourage developers to take advantage of the username </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">default </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">when constructing YouTube API request URLs, which always refers to the currently logged in user.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We have no immediate plans to disable the old ClientLogin URL, but we do encourage developers to update their code at their earliest convenience to point to the new URL. We will post again with further details if and when the legacy URL is turned off.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7175817630347511959?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/update-to-the-clientlogin-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ActionScript 2 Chromeless Player and Monetized Videos</title>
		<link>https://googledata.org/youtube-api/the-actionscript-2-chromeless-player-and-monetized-videos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-actionscript-2-chromeless-player-and-monetized-videos</link>
		<comments>https://googledata.org/youtube-api/the-actionscript-2-chromeless-player-and-monetized-videos/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 21:01:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The ActionScript 3 Player APIs, both in the chromeless and embedded variety, have been available for use since last October. When we released the ActionScript 3 APIs, we announced the deprecation of the ActionScript 2 equivalents. As per our deprecatio...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.34127175668254495" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="http://code.google.com/apis/youtube/flash_api_reference.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ActionScript 3 Player APIs</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, both in the chromeless and embedded variety, have been available for use since </span><a href="http://apiblog.youtube.com/2009/10/actionscript-3-youtube-chromeless.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">last October</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. When we released the ActionScript 3 APIs, we announced the deprecation of the ActionScript 2 equivalents. As per our deprecation policy, we will keep the ActionScript 2 Player APIs running through October of 2012; however, we wanted to announce a change in the videos available for playback that will affect those still using the ActionScript 2 </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">chromeless</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> player.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As of early January, 2011, some videos that YouTube and our content partners would like to monetize will not be playable using the ActionScript 2 chromeless player because it does not have the ability to show ads. If you attempt to play back such a video, an </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">onError</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> event will be fired, as </span><a href="http://code.google.com/apis/youtube/flash_api_reference_as2.html#Events"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">documented</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> in the ActionScript 2 Player APIs reference guide. As a developer, you can handle this event and play an alternate video, or display an explanatory message to your users.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Please note that this change only affects playback in the ActionScript 2 chromeless player. If you are using the ActionScript 2 embedded player (i.e. the official YouTube player with built-in controls) or if you’ve already upgraded to one of the ActionScript 3 players, you can continue to play the same video content you can play today. Also note that you might be using the the ActionScript 2 chromeless player indirectly if you’re using a third-party custom video player to play back YouTube content. Please reach out to the provider of your custom video player if you’re not sure whether this change will affect you.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-3419161324336951616?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/the-actionscript-2-chromeless-player-and-monetized-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PubSubHubbub for YouTube Activities</title>
		<link>https://googledata.org/youtube-api/pubsubhubbub-for-youtube-activities/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pubsubhubbub-for-youtube-activities</link>
		<comments>https://googledata.org/youtube-api/pubsubhubbub-for-youtube-activities/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 19:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[PubSubHubbub, for those not in the know, is a server-to-server protocol for notifying interested parties of events they’re interested in. Notifications are pushed out to subscribers via HTTP web hooks, which offers efficiencies over polling-based sol...]]></description>
				<content:encoded><![CDATA[<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-color: transparent; font-family: Times; font-size: medium; "><a href="http://code.google.com/p/pubsubhubbub/" id="internal-source-marker_0.9339334557298571"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">PubSubHubbub</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">, for those not in the know, is a server-to-server protocol for notifying interested parties of events they’re interested in. Notifications are pushed out to subscribers via HTTP </span><a href="http://www.webhooks.org/"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">web hooks</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">, which offers efficiencies over polling-based solutions. With PubSubHubbub, your server finds out about events in near real-time, without having to determine the optimal polling interval or repeatedly fetch individual activity feeds that haven’t changed.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">We’re happy to announce that it’s now possible to subscribe to three types of YouTube user events via PubSubHubbub: video uploads, new subscriptions, and video favorites. The subscription requests need to be made on a per-user basis, so you will only receive updates for specific users that you’re interested in.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Your code can look for our PubSubHubbub </span><a href="http://pubsubhubbub.appspot.com/"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">hub</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> address in the </span><span style="font-size: 11pt; font-family: 'Courier New'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">href</span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> attribute of the top-level </span><span style="font-size: 11pt; font-family: 'Courier New'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">&lt;link rel='hub'&gt;</span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> element in uploads, subscriptions, and favorites feeds. For example, the feed </span><a href="http://gdata.youtube.com/feeds/api/users/GoogleDevelopers/uploads"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">http://gdata.youtube.com/feeds/api/users/GoogleDevelopers/uploads?v=2</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> exposes the hub address in the </span><span style="font-size: 11pt; font-family: 'Courier New'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">&lt;link rel='hub' href='http://pubsubhubbub.appspot.com'/&gt;</span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> element.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">More details on the PubSubHubbub can be found in the </span><a href="http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">specification document</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">. If you’d like your server to receive YouTube user event updates via PubSubHubbub, this </span><a href="http://code.google.com/p/pubsubhubbub/wiki/SubscriberClients"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">list of libraries</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> is a good place to start.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Cheers,</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">-Jeff Posnick, YouTube API Team, in conjunction with the PubSubHubbub Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7420614834056162473?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/pubsubhubbub-for-youtube-activities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Staging Server Now Defaults to YouTube API Version 2</title>
		<link>https://googledata.org/youtube-api/staging-server-now-defaults-to-youtube-api-version-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=staging-server-now-defaults-to-youtube-api-version-2</link>
		<comments>https://googledata.org/youtube-api/staging-server-now-defaults-to-youtube-api-version-2/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 21:33:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The YouTube Google Data API currently exists in two flavors: version 1 and version 2. If you’re not explicitly requesting version 2 of the API, then you’re using the default, version 1.As we add new functionality to the API, it’s invariably added...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.36350494087673724" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The YouTube Google Data API currently exists in two flavors: version 1 and version 2. If you’re not explicitly requesting version 2 of the API, then you’re using the default, version 1.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As we add new functionality to the API, it’s invariably added to version 2: features like </span><a href="http://apiblog.youtube.com/2010/03/partial-responses-and-updates-with.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">partial responses/updates</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://apiblog.youtube.com/2010/02/extended-access-controls-available-via.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">extended access controls</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_captions.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">captioning support</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_insight.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Insight statistics </span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">are only available to developers accessing the newer release. We’ve kept version 1 running as-is for a while now, and will continue to do so for months to come, but we’re taking the first step to transition developers off of version 1 of the API by changing the default in our </span><a href="http://apiblog.youtube.com/2008/11/all-worlds-stage.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">staging server</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> environment to version 2.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We expect to default the production environment to version 2 before the end of the year, and we will post again when we have more definite dates. In the meantime, if you are still using version 1 of the API, please prepare for the change by taking one of the following steps:</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><ul><li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Modify a test version of your code to access </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">stage.gdata.youtube.com</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> URLs as described in </span><a href="http://apiblog.youtube.com/2008/11/all-worlds-stage.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">this blog post</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. You’ll automatically default to version 2, and you can test and make changes to your code against the staging server.</span></li><li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Start explicitly requesting version 2 using the </span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#API_Versioning"><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">v=2</span><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> URL parameter or </span><span style="background-color: transparent; color: #000099; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">GData-Version</span><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> HTTP request header</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Most of the YouTube API client libraries provide methods for switching between API versions, and they will take care of setting the appropriate </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GData-Version</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> header for you. You may need to modify your code to make it compatible with version 2.</span></li><li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you know that your code is incompatible with version 2 of the YouTube API and you can’t fix things yet, start explicitly requesting version 1 of the API. Note that this is not a long-term solution, as all code will eventually need to be migrated off of version 1.</span></li></ul><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Stay tuned over the coming months for more announcements about the change to the default in production, and the eventual decommission of version 1, currently scheduled for October 2011.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Jeff Posnick, YouTube API Team</span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-2187160316735418952?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/staging-server-now-defaults-to-youtube-api-version-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube API @ Google I/O 2010</title>
		<link>https://googledata.org/youtube-api/youtube-api-google-io-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-api-google-io-2010</link>
		<comments>https://googledata.org/youtube-api/youtube-api-google-io-2010/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 21:04:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Kuan Yong, Gareth McSorley and I -- representing Product Management, Engineering, and Developer Relations, respectively -- were happy to present a YouTube API session at this year’s Google I/O developer conference. We got the chance to meet many memb...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.5408519092015922" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Kuan Yong, Gareth McSorley and I -- representing Product Management, Engineering, and Developer Relations, respectively -- were happy to present a </span><a href="http://code.google.com/events/io/2010/sessions/youtube-api-uploads.html"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube API</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> session at this year’s </span><a href="http://code.google.com/events/io/2010/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google I/O</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> developer conference. We got the chance to meet many members of the developer community there, but unfortunately not everyone is able to make it out to San Francisco in person. For the benefit of those who could not attend, a recording of our session is now </span><a href="http://www.youtube.com/watch?v=L5ebSn9HgJ4"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">available on YouTube</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and embedded below.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The session was titled “YouTube API Uploads: Tips, Tricks, and Best Practices” and we covered all topics related to uploads from A (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ndroid app uploads) to Z (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">z</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ero-metadata uploads). We hit a few letters in between, too: B (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">b</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">rowser-</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">b</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ased uploads) I (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">i</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Phone app uploads), Q (upload </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">q</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">uota </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">q</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">uestions), R (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">r</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">esumable uploads) and Y (</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Y</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ouTube Direct). There’s something for everyone in this session, so if your application uploads video to YouTube, be sure to check it out!</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><object height="385" width="640"><param name="movie" value="http://www.youtube.com/v/L5ebSn9HgJ4&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/L5ebSn9HgJ4&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object><br><br /><span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Jeff Posnick, YouTube API Team</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">YouTube is hiring! ~ </span><a href="http://google.com/jobs/workyoutube"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://google.com/jobs/workyoutube</span></a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-5568882612365653997?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-api-google-io-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java YouTube Developers: Update Your Libraries</title>
		<link>https://googledata.org/youtube-api/java-youtube-developers-update-your-libraries/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-youtube-developers-update-your-libraries</link>
		<comments>https://googledata.org/youtube-api/java-youtube-developers-update-your-libraries/#comments</comments>
		<pubDate>Mon, 17 May 2010 19:03:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[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 th...]]></description>
				<content:encoded><![CDATA[<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span id="internal-source-marker_0.16513638803735375" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you access the YouTube API via Java using the </span><a href="http://code.google.com/p/gdata-java-client/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">official Google Data Client Library</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, 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.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Versions of the Java Google Data Client Library </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">earlier than 1.41.2</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (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 </span><a href="https://groups.google.com/group/youtube-api-gdata/browse_thread/thread/bdeda9dd9e3e3150"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">recently</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> ran into this issue while trying to launch a new </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">totalUploadViews</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> attribute, for instance.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We removed the </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">totalUploadViews</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> 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 </span><a href="http://code.google.com/p/gdata-java-client/downloads/list"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">update your installation</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> to the 1.41.2 (or newer) release. We plan on re-adding the </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">totalUploadViews</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> attribute in </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">mid-July</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, 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.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A special note to developers using </span><a href="http://code.google.com/p/youtube-direct/"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">YouTube Direct</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">: because YouTube Direct is built on top of the Java client library, it also needs to be updated to use a compatible release. The </span><a href="http://code.google.com/p/youtube-direct/downloads/list"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">latest archived downloads</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> 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.</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cheers,</span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">—Jeff Posnick, YouTube API Team</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">YouTube is hiring! ~ </span><a href="http://google.com/jobs/workyoutube"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://google.com/jobs/workyoutube</span></a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-1997672466361306964?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/java-youtube-developers-update-your-libraries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Partial Responses and Updates with the YouTube API</title>
		<link>https://googledata.org/youtube-api/partial-responses-and-updates-with-the-youtube-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=partial-responses-and-updates-with-the-youtube-api</link>
		<comments>https://googledata.org/youtube-api/partial-responses-and-updates-with-the-youtube-api/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 21:58:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[We wanted to share some big news that was&#160;just announced&#160;on the Google Code blog: the YouTube API now supports partial responses and partial update requests. Both these features allow you to drastically cut down on the amount of data you send...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Arial, sans-serif, sans; font-size: 13px;"><span id="internal-source-marker_0.0046503059566020966" style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">We wanted to share some big news that was&nbsp;</span><span style="color: #000099; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;"><a href="http://googlecode.blogspot.com/2010/03/making-apis-faster-introducing-partial.html">just announced</a></span><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">&nbsp;on the Google Code blog: the YouTube API now supports partial responses and partial update requests. Both these features allow you to drastically cut down on the amount of data you send and receive via the API, which means simpler, faster API operations and happier users.</span><br /><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">The&nbsp;</span><span style="color: #000099; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;"><a href="http://googlecode.blogspot.com/2010/03/making-apis-faster-introducing-partial.html">announcement post</a></span><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">&nbsp;on the Google Code blog goes into much more detail, so take a look at that first. When you’re ready to start writing code, check out the&nbsp;</span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_partial.html"><span style="color: #000099; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">partial response</span></a><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">&nbsp;and&nbsp;</span><a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_partial_updates.html"><span style="color: #000099; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">partial update</span></a><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">&nbsp;sections of the YouTube API Developer’s Guide.</span><br /><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Cheers,</span><br /><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;">-Jeff Posnick, YouTube API Team</span><br /><span style="color: black; font-family: Verdana; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: none; vertical-align: baseline;">YouTube is hiring! ~&nbsp;</span><a href="http://google.com/jobs/workyoutube"><span style="color: #000099; font-family: Verdana; font-size: 11pt; font-style: italic; font-weight: normal; text-decoration: underline; vertical-align: baseline;">http://google.com/jobs/workyoutube</span></a></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-5751772738642532688?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/partial-responses-and-updates-with-the-youtube-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube Direct for Mobile, and Other Updates</title>
		<link>https://googledata.org/youtube-api/youtube-direct-for-mobile-and-other-updates/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youtube-direct-for-mobile-and-other-updates</link>
		<comments>https://googledata.org/youtube-api/youtube-direct-for-mobile-and-other-updates/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 23:20:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Since launching&#160;YouTube Direct&#160;last November, our team has been hard at work adding new functionalities, fixing bugs, and answering developer's questions. We wanted to take a momentary break from all that to share some updates.Separate from b...]]></description>
				<content:encoded><![CDATA[<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Since launching&nbsp;<a href="http://code.google.com/p/youtube-direct/" id="ti21" style="color: #551a8b;" title="YouTube Direct"><span class="Apple-style-span" style="color: blue;">YouTube Direct</span></a>&nbsp;<a href="http://apiblog.youtube.com/2009/11/enrich-your-site-with-youtube-direct.html" id="k053" style="color: #551a8b;" title="last November"><span class="Apple-style-span" style="color: blue;">last November</span></a>, our team has been hard at work adding new functionalities, fixing bugs, and answering developer's questions. We wanted to take a momentary break from all that to share some updates.</div><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Separate from but related to the main YouTube Direct project are two other Google Code projects: video capture and YouTube Direct upload applications for the&nbsp;<a href="http://code.google.com/p/ytd-android/" id="ajrh" style="color: #551a8b;" title="Android"><span class="Apple-style-span" style="color: blue;">Android</span></a>&nbsp;and&nbsp;<a href="http://code.google.com/p/ytd-iphone/" id="hfoh" style="color: #551a8b;" title="iPhone"><span class="Apple-style-span" style="color: blue;">iPhone</span></a>&nbsp;operating systems. These two projects are basic implementations that we hope will inspire organizations to add video capture and YouTube Direct upload functionality to their Android or iPhone applications.</div><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">We've been gradually, and quietly, checking in various bug fixes and enhancements to the current release's&nbsp;<a href="http://code.google.com/p/youtube-direct/source/checkout" id="llhp" style="color: #551a8b;" title="Subversion repository"><span class="Apple-style-span" style="color: blue;">Subversion repository</span></a>&nbsp;on Google Code. One recent change is especially important, as it adds support for the&nbsp;<a href="http://apiblog.youtube.com/2010/03/upcoming-change-to-youtube-video-page.html" id="t65w" style="color: #551a8b;" title="new video page URLs"><span class="Apple-style-span" style="color: blue;">new video page URLs</span></a>&nbsp;that will start becoming more common. Periodically, we package the current release into a new "tagged" release, and generate&nbsp;<a href="http://code.google.com/p/youtube-direct/wiki/YTDReleaseNotes" id="q3v-" style="color: #551a8b;" title="release notes"><span class="Apple-style-span" style="color: blue;">release notes</span></a>&nbsp;summarizing what's new. If you haven't updated your YouTube Direct codebase recently, we strongly suggest that you read the release notes and perform a sync with our code repository. Starting with the next YouTube Direct release, we will send email announcements to the low-traffic, announce-only&nbsp;<a href="https://groups.google.com/group/youtube-api" id="c78i" style="color: #551a8b;" title="Google Group"><span class="Apple-style-span" style="color: blue;">Google Group</span></a>. We recommend that all developers using YouTube Direct sign up to the group — actually, all YouTube API users should sign up to receive periodic important notifications.</div><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Many organizations, in addition to our&nbsp;<a href="http://youtube-global.blogspot.com/2009/11/connecting-citizens-and-journalists.html" id="l_c5" title="launch partners"><span class="Apple-style-span" style="color: blue;">launch partners</span></a>, have deployed YouTube Direct on their websites since our launch, and we wanted to highlight a few here.</div><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Gannett rolled out a company-wide initiative in honor of Black History month, in which they ask people to&nbsp;<a href="http://civilrights.historybeat.com/media/" id="qi_h" title="interview civil rights heroes"><span class="Apple-style-span" style="color: blue;">interview civil rights heroes</span></a>&nbsp;via video. Al-Jazeera invited the community to&nbsp;<a href="http://blogs.aljazeera.net/hajj" id="ksye" style="color: #551a8b;" title="share their thoughts"><span class="Apple-style-span" style="color: blue;">share their thoughts</span></a>&nbsp;and experiences around Hajj, the annual Muslim pilgrammage to Mecca. And if you have news videos around any of the big stories of the day,&nbsp;<a href="http://itn.co.uk/itndirect.html" id="z.84" title="ITN News"><span class="Apple-style-span" style="color: blue;">ITN News</span></a>&nbsp;wants them. Even Tufts University is using YouTube Direct to solicit personal videos from the community called "<a href="http://news.tufts.edu/assignments/oneminute/" id="e4pv" style="color: #551a8b;" title="You, in One Minut"><span class="Apple-style-span" style="color: blue;">You, in One Minute</span></a>".</div><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">As always, the best resource for developers looking to embed YouTube Direct functionality on their website is our&nbsp;<a href="http://code.google.com/p/youtube-direct/wiki/GettingStarted" id="w_27" style="color: #551a8b;" title="Getting Started Guide"><span class="Apple-style-span" style="color: blue;">Getting Started Guide</span></a>. If you have any technical questions about YouTube Direct, our&nbsp;<a href="http://groups.google.com/group/youtube-api-gdata" id="g3fo" style="color: #551a8b;" title="YouTube API Developer's Google Group"><span class="Apple-style-span" style="color: blue;">YouTube API Developer's Google Group</span></a>&nbsp;is the place to turn.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">Cheers,</div><div style="margin-bottom: 0px; margin-top: 0px;"><i>-Jeff Posnick on behalf of the YouTube Direct Team</i></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-1917739658132150957?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/youtube-direct-for-mobile-and-other-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming Change to YouTube Video Page URLs</title>
		<link>https://googledata.org/youtube-api/upcoming-change-to-youtube-video-page-urls/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=upcoming-change-to-youtube-video-page-urls</link>
		<comments>https://googledata.org/youtube-api/upcoming-change-to-youtube-video-page-urls/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 19:11:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[There's an upcoming change to YouTube video page URLs that we wanted developers to know about. While it's not something that will directly affect users of the YouTube APIs, chances are there are some developers in the audience who have code that parses...]]></description>
				<content:encoded><![CDATA[<div style="margin-bottom: 0px; margin-top: 0px;">There's an upcoming change to YouTube video page URLs that we wanted developers to know about. While it's not something that will directly affect users of the YouTube APIs, chances are there are some developers in the audience who have code that parses existing YouTube video page URLs, possibly to extract a video's id.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">Here's what some users will start seeing: URLs for YouTube video pages will change from the format&nbsp;<span class="Apple-style-span" style="font-family: 'Courier New';">http://www.youtube.com/watch?v=ylLzyHk54Z0</span>&nbsp;to&nbsp;<span class="Apple-style-span" style="font-family: 'Courier New';">http://www.youtube.com/watch#!v=ylLzyHk54Z0</span>. That is to say, the&nbsp;<span class="Apple-style-span" style="font-family: 'Courier New';">?</span>&nbsp;character in the URL will be replaced with&nbsp;<span class="Apple-style-span" style="font-family: 'Courier New';">#!</span>&nbsp;characters. Not all users will be directed to the new URLs, and the change will be implemented gradually over time. This change is part of a larger&nbsp;<a href="http://en.wikipedia.org/wiki/Ajax_(programming)" id="re7s" style="color: #551a8b;" title="AJAX">AJAX</a>&nbsp;rewrite of the YouTube web site. The old-format URLs will continue working indefinitely when used for browser navigation, so if your web site has existing links to YouTube video pages, you don't need to worry about them breaking.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">What we're concerned about is developers who have written code that takes a user-supplied YouTube video page URL as input and attempts to parse out the video id using a method that assumes there will be a&nbsp;<span class="Apple-style-span" style="font-family: 'Courier New';">?</span>&nbsp;character in the URL. If you have such code, you will need to make it flexible enough to support both styles of URLs. In both formats, the value of the&nbsp;<span class="Apple-style-span" style="font-family: 'Courier New';">v</span>&nbsp;parameter will be the video id, but other URL parameters in an arbitrary order may also be present in valid URLs.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">You might be tempted to parse YouTube URLs when generating HTML snippets that embed videos on your web pages. We recommend that you don't take that approach. Our&nbsp;<a href="http://apiblog.youtube.com/2009/10/oembed-support.html" id="fzga" style="color: #551a8b;" title="oEmbed service">oEmbed service</a>&nbsp;can take care of that for you. oEmbed will happily take watch page URLs of either format as input and return a proper HTML embed code that you can use.<span class="Apple-style-span" style="font-size: small;"><br /></span></div><br /><div style="margin-bottom: 0px; margin-top: 0px;">Cheers,</div><div style="margin-bottom: 0px; margin-top: 0px;"><i>-Jeff Posnick, YouTube API Team</i></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-2531912336127476780?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/upcoming-change-to-youtube-video-page-urls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extended Access Controls Available via API</title>
		<link>https://googledata.org/youtube-api/extended-access-controls-available-via-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=extended-access-controls-available-via-api</link>
		<comments>https://googledata.org/youtube-api/extended-access-controls-available-via-api/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 16:28:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[One of the feature requests that we've received most frequently from developers it to have a YouTube API call that enables or disables commenting for videos. It's a logical request — videos can be automatically uploaded via the API, and having to vis...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"></span><br /><div style="margin-bottom: 0px; margin-top: 0px;">One of the feature requests that we've received most frequently from developers it to have a YouTube API call that enables or disables commenting for videos. It's a logical request — videos can be automatically uploaded via the API, and having to visit youtube.com from a web browser to modify the commenting settings manually doesn't make much sense.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">We've taken action on this feature request, and gone one step further: the new&nbsp;<a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:accessControl" id="obx8" style="color: #551a8b;" title="&lt;yt:accessControl&gt;">&lt;yt:accessControl&gt;</a>&nbsp;element lets video owners enable or disable video rating, comment voting, video responses, and off-web syndication in addition to commenting. We've also taken an existing element for controlling embedding,&nbsp;<a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:noembed" id="i_3v" style="color: #551a8b;" title="yt:noembed">&lt;yt:noembed&gt;</a>, and migrated its functionality to &lt;yt:accessControl&gt;. Existing code that uses the &lt;yt:noembed&gt; element will continue to work as per our&nbsp;<a href="http://code.google.com/apis/youtube/terms.html" id="i:xe" style="color: #551a8b;" title="API deprecation policy">API deprecation policy</a>, but &lt;yt:accessControl&gt; is preferred for new development.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">You can set access controls for a video when uploading or updating a video. See the&nbsp;<a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_uploading_videos.html#Setting_Access_Controls" id="pd:i" style="color: #551a8b;" title="Setting access controls for a video">Setting access controls for a video</a>&nbsp;section of the Developer's Guide for more information.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">With the addition of the this feature, the YouTube API now offers parity with all the settings available via the YouTube web interface. We hope that applications that support YouTube uploads take advantage of this new functionality, and we know your users will appreciate it!</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">Cheers,</div><div style="margin-bottom: 0px; margin-top: 0px;"><i>-Jeff Posnick, YouTube API Team</i></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-6943464204977151342?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/extended-access-controls-available-via-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the YouTube SDK for .NET</title>
		<link>https://googledata.org/youtube-api/announcing-the-youtube-sdk-for-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-the-youtube-sdk-for-net</link>
		<comments>https://googledata.org/youtube-api/announcing-the-youtube-sdk-for-net/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 21:02:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I am happy to announce a new resource for the .NET fans in the YouTube developer community. The YouTube Software Developer Kit for .NET contains all you need to get you started with the YouTube API using Visual Studio 2008.The SDK includes a help file,...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;">I am happy to announce a new resource for the .NET fans in the YouTube developer community. The YouTube Software Developer Kit for .NET contains all you need to get you started with the YouTube API using Visual Studio 2008.<br /><br />The SDK includes a help file, a project template and the following sample programs:<br /></span><br /><ul style="margin-bottom: 0px; margin-top: 0px;"><li style="margin-bottom: 0px; margin-top: 0px;">An application that use the Simple Update Protocol to watch for YouTube activity from a group of users.</li><li style="margin-bottom: 0px; margin-top: 0px;">An example ASP.NET website that illustrates the use of AuthSub authentication.</li><li style="margin-bottom: 0px; margin-top: 0px;">A bulk uploader tool that uses the new ResumableUploader component to asynchronously and reliably upload video files. Multiple threads are used to process video metadata, which is read from a CSV file.</li></ul><br />After installing the SDK, you can open Visual Studio 2008 and select the YouTube template to get started writing your own code.<br /><br />This packaged SDK no longer contains any source code, but it's all available from the project's&nbsp;<a href="http://code.google.com/p/google-gdata/source/browse/" id="vxu0" style="color: #551a8b;" title="Subversion repository">Subversion repository</a>. The&nbsp;<a href="http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/samples/YouTubeUploader/YouTubeUploader/YouTubeUploader.cs" id="t_ap" style="color: #551a8b;" title="YouTubeUploader source code">YouTubeUploader source code</a>&nbsp;is of specific interest to developer who want to see the ResumableUploader component in action.<br /><br />To file bug reports or make feature requests, please use the project's&nbsp;<a href="http://code.google.com/p/google-gdata/issues/list" id="vxrb" style="color: #551a8b;" title="Issue Tracker">Issue Tracker</a>.<br /><br />Regards,<div style="margin-bottom: 0px; margin-top: 0px;"><i>—Frank Mantek, Google Data APIs Team</i></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-8157875925608327138?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/announcing-the-youtube-sdk-for-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Practices for Avoiding Quota Issues</title>
		<link>https://googledata.org/youtube-api/best-practices-for-avoiding-quota-issues/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=best-practices-for-avoiding-quota-issues</link>
		<comments>https://googledata.org/youtube-api/best-practices-for-avoiding-quota-issues/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 21:02:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Like most publicly-available web services, the YouTube API implements a quota system to protect our servers from excessive traffic. This traffic might result from a harmless typo – who hasn't written an infinite loop or two after a long night of codi...]]></description>
				<content:encoded><![CDATA[<div style="margin-bottom: 0px; margin-top: 0px;">Like most publicly-available web services, the YouTube API implements a quota system to protect our servers from excessive traffic. This traffic might result from a harmless typo – who hasn't written an infinite loop or two after a long night of coding? – or it may result from an inefficiently designed system that makes needless API calls. Regardless of the cause, blocking traffic from a specific source once it reaches a certain level is necessary for the overall health of the YouTube API. It ensures that one developer's actions cannot negatively impact the larger community.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">That being said, we've recently made some changes to the way we implement YouTube API quotas. Our previous quota implementation was a bit too coarse-grained for some common usage scenarios. For instance, if an application running on a common web hosting platform generated excessive requests, it could end up blocking other applications running on the same servers that were generating only a modest amount of traffic.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">We believe that our new quota implementation is much more straightforward and less likely to negatively impact applications that are "doing the right thing." The new quota system ties usage to a specific&nbsp;<a href="http://code.google.com/apis/youtube/dashboard/" id="vjhs" style="color: #551a8b;" title="developer key">developer key</a>; as long as your application&nbsp;<a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Developer_Key" id="qmf4" style="color: #551a8b;" title="includes a developer key">includes a developer key</a>&nbsp;along with your YouTube API requests, your requests will be less likely to be flagged for quota violations.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">It's also worth noting that different types of API operations count differently towards quota calculations. In general, you can safely make more frequent HTTP GET requests to retrieve data than HTTP POST/PUT/DELETE requests to modify data.</div><br /><div style="margin-bottom: 0px; margin-top: 0px;">In the unlikely event that you do get flagged for excessive API requests, you'll receive an HTTP response with a code of 403 and a response body that includes</div><br /><div style="margin-bottom: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Courier New';">&lt;errors&gt;&lt;error&gt;&lt;domain&gt;yt:quota&lt;/domain&gt;&lt;code&gt;too_many_recent_calls&lt;/code&gt;&lt;/error&gt;&lt;/errors&gt;</span></div><br /><div style="margin-bottom: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: verdana;">It's up to your code to detect this error and take appropriate action. As a best practice, we recommend stopping all API calls from your application for 10 minutes after receiving such an error in order to "reset" your quota. When you resume making API calls, you should scale back on the frequency of your requests. As a rule, API requests that do not originate from user interaction – requests made one right after another as part of a background synchronization or bulk import process, for instance – are more likely to trigger quota violations, so they should be avoided.</span></div><br /><div style="margin-bottom: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: verdana;">Cheers,</span></div><div style="margin-bottom: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: verdana;"><i>-Jeff Posnick, YouTube API Team</i></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-6247258152526341152?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/best-practices-for-avoiding-quota-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A New Format for JSON Results</title>
		<link>https://googledata.org/youtube-api/a-new-format-for-json-results/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-format-for-json-results</link>
		<comments>https://googledata.org/youtube-api/a-new-format-for-json-results/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 19:38:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[It's been two and a half years since we announced JSON as an alternative output format to Atom XML for YouTube API responses. As illustrated in the developer's guide and codelab, JSON-formatted data is a natural choice when writing web applications –...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; ">It's been two and a half years since we <a href="http://apiblog.youtube.com/2007/08/new-youtube-api-released-into-wild.html" id="w2vc" title="announced" style="color: rgb(85, 26, 139); ">announced</a> JSON as an alternative output format to Atom XML for YouTube API responses. As illustrated in the <a href="http://code.google.com/apis/youtube/2.0/developers_guide_json.html" id="xhs7" title="developer's guide" style="color: rgb(85, 26, 139); ">developer's guide</a> and <a href="http://gdata.ops.demo.googlepages.com/yt_json_codelab.html" id="s6ex" title="codelab" style="color: rgb(85, 26, 139); ">codelab</a>, JSON-formatted data is a natural choice when writing web applications – after all, who wants to parse XML from JavaScript?<br /><br /><div style="margin-top: 0px; margin-bottom: 0px; ">Our existing JSON format isn't perfect, however. It's very much a literal translation from Atom. As is often the case with literal translations, the current JSON format is wordier than it needs to be, and it lacks some of the elegance that a native dialect would offer.</div><br />We've rethought out current JSON implementation, and moved away from a literal representation of the Atom data to a format that we hope will be more pleasing to those who are fluent in JSON. The vestigial XML namespace prefixes are no more, and we've removed many pieces of metadata specific to Atom documents that come across as noise in JSON. Repeating data elements are always structured as true JSON lists, and useful video metadata that exist as XML attributes in Atom have been rearranged to make more sense in the JSON document. You'll also find that the new JSON results are more compact than Atom XML, which is of special importance to code running from limited-bandwith mobile applications.<br /><br /><div style="margin-top: 0px; margin-bottom: 0px; ">We call this new format JSON-C, and you can read about all the technical details in our <a href="http://code.google.com/apis/youtube/2.0/developers_guide_jsonc.html" id="d6:v" title="documentation" style="color: rgb(85, 26, 139); ">documentation</a> and see it in action in our <a href="http://code.google.com/apis/youtube/articles/view_youtube_jsonc_responses.html" id="qdxk" title="live demo" style="color: rgb(85, 26, 139); ">live demo</a>.</div><br /><div style="margin-top: 0px; margin-bottom: 0px; ">With the release of JSON-C, we consider the legacy JSON format officially deprecated. All new development should prefer JSON-C to JSON, and if you have existing YouTube API code that relies on JSON-formatted results, you'll need to upgrade your code to use the new format. We will be supporting legacy JSON-formatted output in accordance with the deprecation policy outlined in our <a href="http://code.google.com/apis/youtube/terms.html" id="t_0." title="Terms of Service" style="color: rgb(85, 26, 139); ">Terms of Service</a>.</div><br /><div style="margin-top: 0px; margin-bottom: 0px; ">Cheers,</div><div style="margin-top: 0px; margin-bottom: 0px; "><i>-Jeff Posnick, YouTube API Team</i></div></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7065540789338833483?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/a-new-format-for-json-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enrich your site with YouTube Direct</title>
		<link>https://googledata.org/youtube-api/enrich-your-site-with-youtube-direct/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enrich-your-site-with-youtube-direct</link>
		<comments>https://googledata.org/youtube-api/enrich-your-site-with-youtube-direct/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 15:16:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Today we announced the launch of YouTube Direct, a new tool built on top of YouTube's public APIs that enables any developer to solicit video submissions on their website, powered by YouTube.Users upload their videos directly on the developer's website...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; ">Today we announced the launch of <a id="s6a." href="http://youtube-global.blogspot.com/2009/11/connecting-citizens-and-journalists.html" title="YouTube Direct" style="color: rgb(85, 26, 139); ">YouTube Direct</a>, a new tool built on top of YouTube's public APIs that enables any developer to solicit video submissions on their website, powered by YouTube.<br /><br />Users upload their videos directly on the developer's website, after which the developer can review the submissions and select the best ones to showcase. Since these videos live on YouTube, users are able to reach YouTube's large user base directly while also getting broader exposure and editorial validation for the videos they create.<br /><br />Although YouTube Direct was originally created with our news partners in mind, we believe that other developers and website owners can benefit from it as well. To put YouTube Direct in the hands of as many developers as possible, we open sourced the bulk of the code and designed it to run on <a id="tg2f" href="http://appengine.google.com/" title="Google App Engine" style="color: rgb(85, 26, 139); ">Google App Engine</a> - Google's scalable hosting platform. This enables developers to easily deploy their own instance of the tool and take advantage of App Engine's scalability and low cost. The videos themselves are served from the same infrastructure that powers YouTube.com.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/uFt9gapWLMU&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uFt9gapWLMU&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span"  style="font-family:Arial, sans-serif;"><span class="Apple-style-span" style="font-size: x-small;"><br /></span></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">Visit <a id="sroc" href="http://code.google.com/apis/youtube/ytdirect.html" title="YouTube Direct for Developers page" style="color: rgb(85, 26, 139); ">YouTube Direct for Developers page</a> to read more about it or go directly to the <a id="uo.s" href="http://code.google.com/p/youtube-direct" title="YouTube Direct's project page">project page</a> to download the code. As always, we'd love to hear your feedback on this new tool. Drop us a line in <a id="q.2k" href="http://groups.google.com/group/youtube-api-gdata" title="YouTube API Developer Forum" style="color: rgb(85, 26, 139); ">YouTube's Developer Forum</a>.</div></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-8410057462189566196?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/enrich-your-site-with-youtube-direct/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New YouTube API Version Available for Testing</title>
		<link>https://googledata.org/youtube-api/new-youtube-api-version-available-for-testing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-youtube-api-version-available-for-testing</link>
		<comments>https://googledata.org/youtube-api/new-youtube-api-version-available-for-testing/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 21:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[While we don't normally call out new releases of the Google Data YouTube API on this blog, we wanted to draw specific attention to the version that has just been pushed out to our staging servers. There are two specific changes that we'd like to give o...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"><div style="margin-top: 0px; margin-bottom: 0px; ">While we don't normally call out new releases of the Google Data YouTube API on this blog, we wanted to draw specific attention to the version that has just been pushed out to our staging servers. There are two specific changes that we'd like to give our developers and partners a chance to test before they go live. Both changes affect important areas of the API: <a href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_clientlogin.html" id="ue97"  title="ClientLogin authentication" style="color: rgb(85, 26, 139); ">ClientLogin authentication</a>, and playback URLs in <a href="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:content" id="b0i:"  title="media:content entries" style="color: rgb(85, 26, 139); ">media:content entries</a>.</div><br /><div style="margin-top: 0px; margin-bottom: 0px; ">We fully intend for the changes to be backwards compatible, and from the developer's perspective you should not have to change any code. But testing your code is always a best practice, so if you rely on ClientLogin or retrieving media playback URLs from the Google Data YouTube API, please <a href="http://apiblog.youtube.com/2008/11/all-worlds-stage.html" id="ifcn"  title="repoint your code to http://stage.gdata.youtube.com" style="color: rgb(85, 26, 139); ">repoint your code to http://stage.gdata.youtube.com</a> and confirm functionality.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; text-align: left; ">Any incompatibilities should be reported as soon as possible in our <a href="http://groups.google.com/group/youtube-api-gdata" id="mlin"  title="YouTube API Developer Forum" style="color: rgb(85, 26, 139); ">YouTube API Developer Forum</a>. We expect to move the changes from the staging environment into production on November 17.</div></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-6960592291750978280?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/new-youtube-api-version-available-for-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final Decommission Notice for the Legacy YouTube API</title>
		<link>https://googledata.org/youtube-api/final-decommission-notice-for-the-legacy-youtube-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=final-decommission-notice-for-the-legacy-youtube-api</link>
		<comments>https://googledata.org/youtube-api/final-decommission-notice-for-the-legacy-youtube-api/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 21:03:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[It's been several years since we've released the Google Data-based YouTube API, and in that time we've been encouraging developers who used the legacy YouTube API to upgrade before we pull the metaphoric plug on that older version. At this point, all b...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"><div style="margin-top: 0px; margin-bottom: 0px; ">It's been several years since we've released the <a href="http://code.google.com/apis/youtube/getting_started.html#data_api" id="te:6"  title="GData-based YouTube API" style="color: rgb(85, 26, 139); ">Google Data-based YouTube API</a>, and in that time we've been encouraging developers who used the legacy YouTube API to upgrade before we pull the metaphoric plug on that older version. At this point, all but a handful of holdouts have upgraded, and as of November 11, 2009, the legacy YouTube API will cease operation.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">If you're using one of our <a href="http://code.google.com/apis/youtube/code.html" id="vsbi"  title="YouTube API client libraries" style="color: rgb(85, 26, 139); ">YouTube API client libraries</a>, then you're definitely making use of the modern Google Data YouTube API. If you're manually making HTTP requests to a URL whose hostname contains <span class="Apple-style-span"  style="font-family:'Courier New';">gdata.youtube.com</span>, then you're also good to go. If you think you might still be using the legacy YouTube API but aren't sure, take a look at some of the example legacy API calls in this <a href="http://code.google.com/apis/youtube/migration.html" id="i4.-"  title="migration guide" style="color: rgb(85, 26, 139); ">migration guide</a>. If it turns out that you are still using the older API, then the migration guide will give you the information you need to upgrade – and be sure to do so before November 11!</div></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-7803136323596501160?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/final-decommission-notice-for-the-legacy-youtube-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ActionScript 3 YouTube Chromeless Player is Now Live</title>
		<link>https://googledata.org/youtube-api/the-actionscript-3-youtube-chromeless-player-is-now-live/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-actionscript-3-youtube-chromeless-player-is-now-live</link>
		<comments>https://googledata.org/youtube-api/the-actionscript-3-youtube-chromeless-player-is-now-live/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 22:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[We have some good news for developers who integrate YouTube videos into their ActionScript 3 Flash applications: the official YouTube Chromeless Player API has been updated to natively support ActionScript 3!Previous to this release, ActionScript 3 dev...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="background-color: rgb(255, 255, 255); font-family: Verdana; font-size: 13px; "><div style="margin-top: 0px; margin-bottom: 0px; ">We have some good news for developers who integrate YouTube videos into their ActionScript 3 Flash applications: the official YouTube Chromeless Player API has been updated to natively support ActionScript 3!</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">Previous to this release, ActionScript 3 developers had to rely on wrapper libraries that bridged the gap between the native ActionScript 2 API and their own ActionScript 3 code. We're thrilled that intrepid developers were able to patch things together on their own and share their code with the rest of the community. Now that there's official support for using the chromeless player from ActionScript 3, everyone should have more time to focus on writing compelling Flash applications, rather than dealing with the unique issues that cross-language coding entails.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">Please check out our <a href="http://code.google.com/apis/youtube/flash_api_reference.html" id="smhq"  title="ActionScript 3 documentation" style="color: rgb(85, 26, 139); ">ActionScript 3 documentation</a>, and let us know what you think of the new API in our <a href="http://groups.google.com/group/youtube-api-gdata" id="e6vt"  title="developer forum" style="color: rgb(85, 26, 139); ">developer forum</a>.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">With the launch of ActionScript 3 support, we're officially deprecating the <a href="http://code.google.com/apis/youtube/flash_api_reference_as2.html" id="eikc"  title="ActionScript 2 YouTube Chromeless Player API" style="color: rgb(85, 26, 139); ">ActionScript 2 YouTube Chromeless Player API</a>. As per our YouTube API deprecation policy, detailed in our <a href="http://code.google.com/apis/youtube/terms.html" id="v3rr"  title="Terms of Service" style="color: rgb(85, 26, 139); ">Terms of Service</a>, we will continue to operate the ActionScript 2 API for a period of three years (until October 14, 2012).</div><br /><div style="margin-top: 0px; margin-bottom: 0px; ">Cheers,</div><div style="margin-top: 0px; margin-bottom: 0px; ">-The YouTube API Team</div></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-1044786734109220101?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/the-actionscript-3-youtube-chromeless-player-is-now-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Direct Uploads Server Migration</title>
		<link>https://googledata.org/youtube-api/direct-uploads-server-migration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=direct-uploads-server-migration</link>
		<comments>https://googledata.org/youtube-api/direct-uploads-server-migration/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 18:20:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeffrey Posnick]]></dc:creator>
				<category><![CDATA[Youtube API]]></category>
		<category><![CDATA[youtube docs]]></category>
		<category><![CDATA[youtube integration]]></category>
		<category><![CDATA[youtube video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[We first announced our new API upload infrastructure back in June and asked developers to test their YouTube API code against our staging environment.Since then, we've started deploying the new upload infrastructure to production machines in a phased m...]]></description>
				<content:encoded><![CDATA[<span class="Apple-style-span" style="background-color: rgb(255, 255, 255); font-family: Verdana; font-size: 13px; "><div style="margin-top: 0px; margin-bottom: 0px; ">We first <a id="p8zq" href="http://apiblog.youtube.com/2009/06/public-service-announcement-upload.html" title="announced" style="color: rgb(85, 26, 139); ">announced</a> our new API upload infrastructure back in June and asked developers to test their YouTube API code against our staging environment.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">Since then, we've started deploying the new upload infrastructure to production machines in a phased manner. Last month, we transitioned <a id="nj9s" href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_browser_based_uploading.html" title="browser-based API uploads" style="color: rgb(85, 26, 139); ">browser-based API uploads</a> to the new servers, and have been closely monitoring performance and error rates to ensure that there were no unintended side effects.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">We're now ready to begin the transition for <a id="fi4:" href="http://code.google.com/apis/youtube/2.0/developers_guide_protocol_direct_uploading.html" title="direct uploads" style="color: rgb(85, 26, 139); ">direct uploads</a>. Starting today, a small percentage of direct uploads traffic will automatically be routed to our new servers. We will be monitoring traffic over the next few weeks and gradually increasing the traffic that the new servers receive until we have fully completed the migration.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">As a developer, you won't have to make any changes in your code to take advantage of the increased reliability and bug fixes found in the new infrastructure. While we do expect that this new infrastructure will be fully backwards compatible, if you do notice any change in your application's behavior with regard to direct uploads, please let us know in our <a id="u51f" href="http://groups.google.com/group/youtube-api-gdata" title="developer group" style="color: rgb(85, 26, 139); ">developer group</a>.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br /></div><div style="margin-top: 0px; margin-bottom: 0px; ">Cheers,</div><div style="margin-top: 0px; margin-bottom: 0px; ">-The YouTube API Team</div></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2443724041307041823-426936227490051029?l=apiblog.youtube.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube-api/direct-uploads-server-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
