3. Hello! Sandybell Opening Español
Apr 5, 2008
Sinopsis Sandy Bell vive en un hermoso pueblo de Escocia rodeada de castillos, flores y muchos amigos; pront
livevideo.com - Related videos
La verdadera historia de Heidi y sus amigos...
2 min - Mar 21, 2008
Hubo tiempos de guerras, tiempos de paz, hubo tiempo en que era ilegal. Pero hermano nuestra mente cambió
video.google.com - Related videos
El pastel de Heidi
1 min - Feb 13, 2009
El abuelo de Heidi ha preparado un delicioso pastel y todos quieren probarlo. ... El abuelo de Heidi ha preparad
video.msn.com - Related videos
CANCION DE HEIDI CON LETRA
2 min - Jul 25, 2008 - Uploaded by hassan101089
TEMA DE LA CARICATURA HEIDI CON LETRA EN ESPAÑOL ... HEIDI LA NIÑA DE LAS MONTAÑAS VIDEO CON L
youtube.com - Related videos
Mensaje del abuelo de heidi al niñato del metro
20 sec - Jan 21, 2007 - Uploaded by MrCoucou
Sabias palabras ... Abuelo heidi niñato metro valencia ... Sabias palabras
youtube.com - Related videos
Stay up to date on these results:
• Create an email alert for Heidi Censurada
• Subscribe to a video search feed for Heidi Censurada in Google Reader
4. • RSS
• Everything
• Images
• Videos
More
Search Options
o Any duration
o Short (0–4 min.)
o Medium (4–20 min.)
o Long (20+ min.)
o Any time
o Past hour
o Past 24 hours
o Past week
o Past month
o Past year
o Custom range...
o Sorted by relevance
o Sorted by date
o Any quality
o High quality
o All videos
o Closed captioned
o Any source
o youtube.com
o livevideo.com
o google.com
o myvideo.de
o metacafe.com
o msn.com
12
• heidi. - Shinda sekai
• heidi. - Kane no naru oka
• Heidi. - Loop 「Full PV」
by kireichocho | 71 videos
• PLAYLIST
Results for: heidi
1:28
5. Heidi en español
Intro de Heidi en español
by igloows | 4 years ago | 4,145,691 views
1:48:51
Heidi
The classic children's tale of a young orphan girl in the Swiss Alps..
Movie | by ampopfilms | 305,035 views
1:19
Translate
Heidi Theme in German
One of the best animation series Heidi.
by levisk1212 | 2 years ago | 810,267 views
1:16
6. heidi 1e orginele Nederlandse, Dutch versie
heidi, de real version of the intro in Netherlandic, Dutch. It is reel copied from the orginal German
song. This is a rare song becose we got only ...
by JWPemperor | 3 years ago | 615,754 views
1:21
heidi intro
heidi intro
by Svendasschaaf | 2 years ago | 69,606 views
2:08
Translate
abuelito dime tu
es la rola de la caricatura hayde en las montañas es la rola de la caricatura hayde en las
montañas es la rola de la caricatura hayde en las ...
by oradsd | 4 years ago | 7,145,749 views
3:05
Heidi
Shirley Temple in 'Heidi'
by obituarymambo | 4 years ago | 107,708 views
7. 7:43
Walk Thru Heidi Montag's Surgeries
"The Hills" star Heidi Montag joined Ryan's radio show on April 5, 2010 to talk about her recent
10 cosmetic surgeries and to update us on the ...
by ryanseacrest | 5 months ago | 244,958 views
4:04
Heidi - Opening (multilanguage)
Heidi - multilanguage Opening Version 1: German Dutch French Portuguese German Italian
Opening Versinon 2: Japanese Portuguese Spanish other ...
by Hana1989 | 2 years ago | 154,181 views
4:05
The Heidi game
n American football, the Heidi Game refers to a famous American Football League (AFL) game
between the New York Jets and the Oakland Raiders ...
by yarnellwill | 2 years ago | 67,307 views
1:20
Heidi - German Opening
Heidi which has been shown with the same name at IRIB. This 52 episodes animation is vintage
of 1974. This video is the German opening.
8. by saeeddaneshgar | 3 years ago | 347,815 views
Product Docs
Dashboard FAQ
: Articles
cynophagi Blog
e Group
Terms
9. Registered Products Product Details
cynophagie Name*
Website
New Product
Description
Edit
Developer Key
The Deve
Learn more
Note that you no longer
Product Reports
Daily Series
Hourly Series
Download
10. <a href="http://www.youtube.com/user/cynophagie"><img src="path-to-image-file"
alt="Find us on YouTube." style="border: 0px none;"></a
How do I add a "Subscribe to my YouTube Channel" button to add to my website? Report abuse
joshuabowlus Level 1 2/17/10 I have a website as a musician, and want to provide a button
(similar to a "follow me on twitter" button) on the site so that when someone clicks on it, it takes
them to my YouTube channel. I know how to make a simple link in html, so that is not what I'm
talking about. I would like an actual button, because it tends to be more noticeable. Best answers
faberoptime Level 4 2/19/10 Popular answer Go to this answer Okey dokey, not too big a
problem. 1. You say you know how to make a simple link in HTML. Something like this aye: Go to
my YouTube channel Obviously replacing youchannelname with the name of your channel. 2. Take
a look here: http://www.youtube.com/t/creators_downloads Decide which image you'd like to use
and take note of it's URL. It'll be something like:
http://www.youtube.com/img/creators_corner/iheart_yt.png 3. To make a clickable "button"
you'll amend your link code to show the selected image and make that the link instead. If you'd
chosen the example I cited in (2), you'd change it to: Note that both the
links above will open in the same window/tab as the page it's included in. This may not be
desirable. If you want the link to open in a new tab/window, amend the link code as follows:
That should do the trick. :-) Hope that helps and happy YouTubing! 11 of
14 people found this answer helpful. Did you? Report abuse Replies 1 - 3 of 3 faberoptime Level 4
2/19/10 Popular answer Okey dokey, not too big a problem. 1. You say you know how to make a
simple link in HTML. Something like this aye: Go to my YouTube channel Obviously replacing
youchannelname with the name of your channel. 2. Take a look here: http://www.youtube.com/t/
creators_downloads Decide which image you'd like to use and take note of it's URL. It'll be
something like: http://www.youtube.com/img/creators_corner/iheart_yt.png 3. To make a
clickable "button" you'll amend your link code to show the selected image and make that the link
11. instead. If you'd chosen the example I cited in (2), you'd change it to:
Note that both the links above will open in the same window/tab as the page it's included in. This
may not be desirable. If you want the link to open in a new tab/window, amend the link code as
follows:
How do I
add a
"Subscrib
e to my
YouTube Report abuse
Channel"
button to
add to my
website?
joshuabowlu
Level 1
2/17/10
I have a website as a musician, and want to provide a button (similar to a "follow me on twitter"
button) on the site so that when someone clicks on it, it takes them to my YouTube channel.
I know how to make a simple link in html, so that is not what I'm talking about. I would like an
actual button, because it tends to be more noticeable.
Best answers
faberoptime
Level 4
2/19/10
Popular answer Go to this answer
Okey dokey, not too big a problem.
1. You say you know how to make a simple link in HTML.
12. Something like this aye:
<a href="http://www.youtube.com/yourchannelname">Go to my YouTube channel</a>
Obviously replacing youchannelname with the name of your channel.
2. Take a look here:
http://www.youtube.com/t/creators_downloads
Decide which image you'd like to use and take note of it's URL.
It'll be something like:
http://www.youtube.com/img/creators_corner/iheart_yt.png
3. To make a clickable "button" you'll amend your link code to show the selected image and make
that the link instead.
If you'd chosen the example I cited in (2), you'd change it to:
<a href="http://www.youtube.com/yourchannelname"><img border="0"
src="http://www.youtube.com/img/creators_corner/iheart_yt.png"></a>
Note that both the links above will open in the same window/tab as the page it's included in.
This may not be desirable.
If you want the link to open in a new tab/window, amend the link code as follows:
<a target="_blank" href="http://www.youtube.com/yourchannelname"><img border="0"
src="http://www.youtube.com/img/creators_corner/iheart_yt.png"></a>
That should do the trick. :-)
Hope that helps and happy YouTubing!
11 of 14 people found this answer helpful. Did you?
Report abuse
Replies 1 - 3 of 3
faberoptime
Level 4
2/19/10
Popular answer
Okey dokey, not too big a problem.
13. 1. You say you know how to make a simple link in HTML.
Something like this aye:
<a href="http://www.youtube.com/yourchannelname">Go to my YouTube channel</a>
Obviously replacing youchannelname with the name of your channel.
2. Take a look here:
http://www.youtube.com/t/creators_downloads
Decide which image you'd like to use and take note of it's URL.
It'll be something like:
http://www.youtube.com/img/creators_corner/iheart_yt.png
3. To make a clickable "button" you'll amend your link code to show the selected image and make
that the link instead.
If you'd chosen the example I cited in (2), you'd change it to:
<a href="http://www.youtube.com/yourchannelname"><img border="0"
src="http://www.youtube.com/img/creators_corner/iheart_yt.png"></a>
Note that both the links above will open in the same window/tab as the page it's included in.
This may not be desirable.
If you want the link to open in a new tab/window, amend the link code as follows:
<a target="_blank" href="http://www.youtube.com/yourchannelname"><img border="0"
src="http://www.youtube.com/img/creators_corner/iheart_yt.png"></a>
Developer's Guide: Data API Protocol
The YouTube Data API allows applications to perform functions normally executed on the YouTube
website. The API enables your application to search for YouTube videos and to retrieve standard
video feeds, comments and video responses. In addition, the API lets your application upload
videos to YouTube or update existing videos. Your application can also retrieve playlists,
subscriptions, user profiles and more. Finally, your application can submit authenticated requests
to enable users to create playlists, subscriptions, contacts and other account-specific entities.
Contents
1. Audience
14. a. About this documentation
b. API versioning
2. Authentication
a. Using a developer key
b. AuthSub for web applications
OAuth for web applications
c. ClientLogin for installed applications
d. Authenticating requests from Flash applications
3. Understanding video feeds and entries
a. Displaying a list of videos
b. Identifying feeds related to a feed entry
c. Displaying information about a video
4. Retrieving and searching for videos
a. Standard video feeds
b. Videos uploaded by a specific user
c. Related videos
d. Browsing with categories and keywords
Searching for videos
e. Retrieving information about a single video
5. Searching for channels
6. Searching for playlists
7. Uploading videos
Process flow diagrams
a. Technical requirements for uploaded videos
b. Setting access controls for a video
c. Assigning developer tags
Browser-based uploading
Direct uploading
Resumable uploads
d. Checking the status of an uploaded video
8. Updating and deleting videos
Updating a video entry
a. Deleting a video
Providing captions for a video
9. Using community features
a. Ratings
Comments
Video responses
b. Adding a complaint
1. Saving and collecting videos
Favorite videos
Playlists
Subscriptions
a. Video Recommendations
2. Enabling user interaction
User profiles
Contacts
Messages and video sharing
Activity feeds
3. Monitoring activity feeds with SUP
a. Understanding the SUP feed format
b. Retrieving YouTube's SUP feed
c. Discovering hash keys for activity feeds
d. SUP in action
4. Using batch processing with the YouTube Data API
15. Submitting a batch processing request
Handling the API response for a batch processing request
5. Retrieving a partial response (Experimental )
a. Submitting a request for a partial feed response
b. Handling a partial feed response
6. Submitting partial update (PATCH) requests (Experimental )
Submitting a partial update request
Handling the response to a partial feed update
7. Testing and troubleshooting
a. Using the Interactive API Demo
b. Using the staging server
Troubleshooting common API challenges
8. Retrieving Insight data for a video
9. Understanding API error responses
a. Validation errors
b. Quota errors
c. Authentication errors
d. Service errors
10. Revision History
Audience
This documentation is intended for programmers who are writing client applications that interact
with YouTube. It provides examples of basic API operations using raw HTTP and XML. Java , .NET,
PHP and Python developers may prefer to read the language-specific developer guides that
explain how to use the client libraries for those languages to perform similar functions.
This documentation assumes that you understand the general principles behind the Google Data
APIs protocol. Google Data APIs provide a simple, standard protocol for reading and writing data
on the web. Google Data APIs are based on the Atom 1.0 and RSS 2.0 syndication formats as well
as the Atom Publishing Protocol.
About this documentation
This documentation contains the following sections:
The Authentication section describes the two different authentication methods available for
associating API operations with a specific user account. This section also outlines the differences
between authentication for the YouTube Data API and other Google Data APIs. Throughout this
documentation, explanations of specific API functions will clearly indicate whether the function
requires user authentication.
The Understanding video feeds and entries section provides a sample API response and explains
how to extract information about a single video from a list of videos or a set of search results.
This section also illustrates how the XML elements in a YouTube Data API response correspond to
the video information typically displayed on YouTube's website. This section also explains the API
request format for updating an individual video entry.
The Retrieving and searching for videos section explains how to fetch a list of videos. The YouTube
Data API defines several types of standard feeds, such as top-rated or most-viewed videos. This
section also explains how also to retrieve a list of videos uploaded by a specific user or a list of
related videos, which are videos that YouTube has determined are similar to a particular video.
Finally, this section explains how to use the API to let users search through YouTube's video
library for videos matching specific search terms or categories.
16. The Uploading videos section briefly explains two ways that you can allow users to upload videos
to YouTube from your application. This section also presents process flow diagrams for each
upload method and explains how those methods work in conjunction with the authentication
scheme that you are using.
You may need to let users upload videos to use certain other API functions. For example, the API
provides a function for adding a video response to a video. However, if the user is uploading a
new video as a video response, then your client will need to follow the video uploading
instructions to add the video to YouTube before identifying the new video as a response to an
existing video.
The Updating and deleting videos section explains how to enable a user to update or delete his
videos.
The Using community features section describes API functions that allow your users to interact
with YouTube videos. These functions explain requests for posting a rating, comment, video
response or complaint to an existing video. You can also use the API to retrieve lists of video
comments or video responses or to delete a video response.
The Saving and collecting videos section explains how to use the API to access, create and update
favorite videos, video playlists and subscriptions to YouTube channels.
The Enabling user interaction section explains how to use the API to retrieve and update user
profiles. This section also explains how to retrieve, add, update and delete user contacts.
API versioning
API requests can specify the version of the API that YouTube should use to handle the request.
Your request can specify an API version using either the v parameter or the GData-Version HTTP
request header.
The current version of the API is 2, and you must use either the v parameter or the GData-Version
HTTP request header to specify this version. Using the most current version of the API may allow
your application to access API features that are not available in older versions of the API. For
example, captions, partial responses, and partial updates are all supported in version 2 of the API
but are not supported in version 1.
If a request does not specify an API version, then YouTube will use the oldest supported version of
the API to handle that request. The oldest supported version is currently 1.
Note: All of the sample requests in this documentation use the GData-Version HTTP request
header and demonstrate how to use version 2 of the API.
Please note the following characteristics of API version numbers:
YouTube may release updates to a specific API version for which the release is not assigned a new
version number. These backward-compatible updates can include optional API features, bug fixes
or both.
An increment of the API version number identifies a release that contains changes that are
incompatible with previous API versions.
For more information, see the Backward Compatibility Guidelines, which identify API behaviors
that may change even if you do not modify the API version that should be used to handle your API
requests. The guidelines also define API behaviors that YouTube does not intend to change for a
particular API version.
17. Authentication
Authentication allows a user to access YouTube features that link content or information to a
particular YouTube account. These features require the user or your application to provide the
YouTube username and password for that account. For example, a user must log in to YouTube to
upload a video or to add a comment to an existing video.
This documentation describes a number of API functions that require user authentication,
including all of the API functions for creating, updating or deleting content require user
authentication.
Please note that if you implement any functionality that does require authentication, we
recommend that you include the proper authentication headers in all of your requests even if
those requests do not explicitly require authentication.
To properly authenticate, a request must include the Authorization header and either the X-
GData-Key header or the key parameter. The X-GData-Key header (or the key parameter)
specifies your developer key, a value that uniquely identifies your application(s). The
Authorization header specifies a token that you obtain for each user using one of three
authentication schemes – AuthSub, OAuth or ClientLogin – that are available to enable users to
access account-specific YouTube features. The following list will help you to select the
authentication scheme that is appropriate for your application.
AuthSub proxy authentication enables web applications to authenticate users to their YouTube
accounts without having to access the user's YouTube username and password. You should use
AuthSub authentication if you are building a web application that will let users link videos,
comments, ratings, contacts or other information to their own YouTube accounts.
The OAuth protocol provides a standard way to access protected data on different websites.
Whereas the AuthSub and ClientLogin methods are Google-specific, OAuth is an open protocol
that may be implemented on other websites. Like AuthSub, OAuth is useful if you are building a
web application that will let users link videos, comments, ratings, contacts or other information to
their own YouTube accounts. OAuth may be particularly appealing to you if your application also
integrates with other APIs besides the YouTube API, and those APIs also support the OAuth
protocol. See http://oauth.net to learn more about Oauth.
ClientLogin authentication lets you associate all API actions with a single YouTube account. You
should use ClientLogin if you are building a standalone, single-user, installed client, such as a
desktop application. In this case, your application will ask the user to enter his YouTube username
and password and will then use those values to request a ClientLogin authentication token.
Note: You should never build a web application that implements ClientLogin authentication and
requires users to enter their usernames and passwords. If you are building a web application that
allows people to associate actions with their YouTube accounts, use AuthSub or OAuth
authentication.
Using a developer key
A developer key uniquely identifies a product that is submitting an API request. Please visit http://
code.google.com/apis/youtube/dashboard/ to obtain a developer key.
YouTube provides two ways to specify your developer key in an API request:
When you make an API request, use the X-GData-Key request header to specify your
developer key as shown in the following example: X-GData-Key: key=<developer_key>
18. Include the key query parameter in the request URL. http://gdata.youtube.com/feeds/
api/videos?q=SEARCH_TERM&key=DEVELOPER_KEY
Note: Specifying your developer key is very simple if you are using one of our client libraries. In
the client libraries, you provide your developer key when initializing the YouTube service object,
and all subsequent requests sent using that object will contain the key.
AuthSub for web applications
The AuthSub process is documented in more detail at http://code.google.com/apis/accounts/docs/
AuthSub.html. In addition, please note that the base URL and scope of service for YouTube
AuthSub authentication – http://gdata.youtube.com – are different than the URL and scope
specified in that document.
To obtain an authentication token, submit an HTTP POST request to the following
URL: https://www.google.com/accounts/AuthSubRequest?
next=http%3A%2F%2Fwww.example.com%2Fupload.html
&scope=http%3A%2F%2Fgdata.youtube.com
&session=0
&secure=0
The POST request contains the following parameters:
The next parameter contains the URL to which the user will be redirected after logging in to
YouTube.
The scope parameter identifies the service that the user is enabling your site to access on his
behalf. The value of this parameter must be http://gdata.youtube.com.
The secure parameter contains a boolean value (0 or 1) that indicates whether the
authentication service will return a secure or nonsecure token. Secure tokens are issued only to
websites that have registered with Google, and video upload requests that use a secure token
must be digitally signed. Please see the Google AuthSub documentation for more details about
secure tokens.
The session parameter contains a boolean value (0 or 1) that indicates whether the single-use
authentication token that the authentication service returns can be exchanged for a session token,
which can be used multiple times. Set this variable to 1 to indicate that the single-use token can
be exchanged for a session token. Please see the Google AuthSub documentation for an
explanation of how to request a session token.
After the user logs in via YouTube's authentication service, YouTube will redirect the user back to
the URL identified in the next parameter in your AuthSub request. The redirect contains a single-
use authentication token, which is identified by the token parameter in the URL as shown in the
following example. If the value of the session parameter in your AuthSub request was 1, then
you can exchange the single-use token for a session token by submitting an
AuthSubSessionToken request.
The following URL shows how the token parameter will appear in the redirect to your
site. Note that the URL for the redirect would have been provided as the value of
the next parameter in the AuthSub request. http://www.example.com/upload.html?
token=CKF50YzIHxCT85KMAg
19. When you make an authenticated API request using an AuthSub authentication token,
your request needs to specify the Authorization HTTP request header as shown in the
example below. Note: Throughout this documentation, sample requests use AuthSub
syntax unless otherwise specified. Authorization: AuthSub
token="<authentication_token>"
X-GData-Key: key=<developer_key>
OAuth for web applications
The OAuth protocol provides a standard way to access protected data on different websites.
Whereas the AuthSub and ClientLogin methods are Google-specific, OAuth is an open protocol
that can be implemented on other websites. Like AuthSub, OAuth is useful if you are building a
web application that will let users link videos, comments, ratings, contacts or other information to
their own YouTube accounts.
Understanding OAuth Tokens
OAuth authentication uses two types of tokens:
• A request token ensures that an end user authorizes your application to submit API
operations on the user's behalf. YouTube also uses the request token to verify that you
have registered your application with Google.
• An access token enables your application to execute YouTube Data API operations on a
particular user's behalf.
Note: Your application must obtain unique request and access tokens for each user. In addition,
your application needs a mechanism to store access tokens for future use.
The authentication process has three stages:
Your application retrieves an unauthorized request token. Google verifies that you have registered
your application before returning the token. Request tokens are only valid for one hour.
Your application redirects the user to a Google login page. The redirect URL specifies the
unauthorized request token value retrieved in step 1 as well as a callback URL.
After the user logs in to her YouTube account, Google displays a page that lets the user choose
whether to allow your application to perform YouTube API operations on her behalf. If the user
grants your application this access, the unauthorized token will become an authorized token. (The
token value does not change.) The user will also be redirected to the callback URL that you
specified.
Your application exchanges the authorized request token for an access token. Only authorized
tokens can be exchanged, and each request token can only be exchanged one time. The access
token is associated with a single user account, and your application should use that token to
submit authenticated API requests on that user's behalf.
Setting up OAuth authentication
You must complete the following steps to enable your web application to authenticate users with
the OAuth protocol:
Register your web application with Google.
20. Please see the Registration for Web-Based Applications page for an explanation of the registration
process and the requirements for registration.
Note: All requests to obtain or use an OAuth token must be signed. Google supports the RSA-
SHA1 and HMAC-SHA1 signature algorithms.
o If your application uses the RSA-SHA1 signature algorithm, you will need to upload
a security certificate to Google during the registration process.
o If your application uses the HMAC-SHA1 signature algorithm, leave the certificate
field blank when completing your registration. Google will generate an OAuth
consumer secret value, which will display on your domain's registration page after
you have completed the registration process. You will then use this value to sign
requests.
Set up a mechanism to manage OAuth tokens.
After your application obtains an OAuth access token from YouTube, your application will use that
token for YouTube API requests it makes on behalf of the user associated with that token. As
such, your application will need to store tokens and track the user for whom each token is valid.
Your application should not try to retrieve a new access token each time the application needs to
interact with YouTube on a particular user's behalf. In fact, tokens should be treated as securely
as any other sensitive user information that your application stores.
Using OAuth
As described in the Understanding OAuth tokens section, the OAuth authentication process has
three steps. These steps are explained in the following sections:
Obtaining a request token
Authorizing a request token
Obtaining an access token
Step 1: Obtaining a request token
To obtain a request token, send a signed request to
https://www.google.com/accounts/OAuthGetRequestToken. Include the following parameters in
your request. Note that the only optional parameter is oauth_version; all other parameters are
required.
Parameter Description
This value specifies the domain associated with your application and
oauth_consumer_key
must be the same as the domain that you registered with Google.
oauth_signature_metho This value specifies the signature algorithm used to sign the request.
d Supported values for this parameter are RSA-SHA1 and HMAC-SHA1.
This value specifies the string (signature) generated using the
oauth_signature referenced signature method. See the Signing requests that use OAuth
authentication section for more information.
This value specifies the time that the request was sent. The timestamp
oauth_timestamp should be expressed in number of seconds after January 1, 1970
00:00:00 GMT.
This value is a random, 64-bit, unsigned number encoded as an ASCII
oauth_nonce string in decimal format. The nonce/timestamp pair should always be
unique to prevent replay attacks.
21. This value specifies the OAuth version that Google should use to
oauth_version handle your request. The default value is 1.0. If your request includes
this parameter, the parameter's value must be 1.0.
This value identifies the service that you are trying to access to make
authenticated requests. This parameter is Google-specific and is not
scope
defined in the OAuth standards. Set the parameter value to
http://gdata.youtube.com.
There are three ways to specify these parameters:
Include them in the Authorization header of a GET or POST request. The sample request below
demonstrates how to specify these values in the Authorization header. Note that the scope
parameter cannot be specified in the header. The scope can be specified as a query parameter in
the request URL or in the body of a POST request.
Specify them in the body of a POST request. If you choose this method, you must set the value of
the Content-Type request header to application/x-www-form-urlencoded.
Include them as query parameters in the request URL of a GET request.
For more details, see the OAuth specification, (section 5.2).
Sample Request
The example asks for a request token to access a user's Calendar and Picasa
accounts. POST /accounts/OAuthGetRequestToken HTTP/1.1
Host: https://www.google.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth
oauth_consumer_key="example.com",
oauth_signature_method="RSA-SHA1",
oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
oauth_timestamp="137131200",
oauth_nonce="4572616e48616d6d65724c61686176",
oauth_version="1.0"
scope=http://gdata.youtube.com
About the response
If the request is successful, Google responds with an HTTP 200 message containing a request
token and a token secret. Your application needs to parse the token from the response.
If the request is unsuccessful, Google responses with an HTTP 400 message (Bad Request). This
response may indicate that the request is poorly formed, meaning it may have an unsupported or
22. missing parameter, unsupported signature method or other error in the request format. This
response may also indicate that Google has reason to believe the requester is not acting in good
faith.
The following example shows a response to a successful request for a request token:
oauth_token=ab3cd9j4ks73hf7g&oauth_token_secret=ZXhhbXBsZS5jb20
Step 2: Authorizing a request token
After you retrieve a request token, redirect the user to
https://www.google.com/accounts/OAuthAuthorizeToken. Add the following query parameters to
the URL:
Parameter Description
This required parameter specifies the request token obtained from
oauth_token
Google.
This optional parameter specifies the URL to which the user will be
redirected after granting your application access to the user's
YouTube account. The URL can include query parameters. If you do
oauth_callbac not specify a callback URL, Google displays a page confirming that the
k user's token has been authorized. Note that providing a callback URL
may create a more seamless user experience by automatically
redirecting the user back to your application after the user completes
the login process.
Sample Request
The following example shows a request to authorize an unauthorized token:
https://www.google.com/accounts/OAuthAuthorizeToken?
oauth_token=ab3cd9j4ks73hf7g&oauth_callback=http%3A%2F%2Fwww.example.com
About the response
If Google accepts the request, the user will be redirected to a YouTube login page. After the user
logs in, the Authentication service displays a page to inform the user that your application wants
to access the user's YouTube account. The page prompts the user to confirm that your application
can access the user's account.
If the user grants access to your application, she will be redirected to the callback URL specified in
your request to authorize the request token. If the user denies access, she will be redirected to a
page that displays a link back to your site and a link to YouTube.
The following URL shows the format of a redirect back to the callback URL with an
authorized request token. The authorized token has the same value as the
unauthorized token sent in the request. The value is a text string, up to 256
bytes. http://www.example.com/ytapi.html?oauth_token=CKF50YzIHxCT85KMAg
Step 3: Exchanging a request token for an access token
After authorizing the request token for a user, your application can exchange that token for an
access token. An access token lets you submit authenticated YouTube API requests on a specific
user's behalf. Access tokens do not expire, effectively functioning like AuthSub session tokens.
23. To exchange an authorized request token for an access token, send a signed HTTP request to
https://www.google.com/accounts/OAuthGetAccessToken with the following query parameters.
Note that all of these parameters except for the oauth_token parameter are also used (and used
in the same context) in the request to obtain a request token. In addition, the only optional
parameter is oauth_version; all other parameters are required.
Parameter Description
This value specifies the domain associated with your
application and must be the same as the domain that you
oauth_consumer_key
registered with Google. This value must be the same as the
one provided in the request to obtain the request token.
oauth_token This value specifies the authorized request token.
This value specifies the signature algorithm used to sign the
oauth_signature_metho
request. Supported values for this parameter are RSA-SHA1
d
and HMAC-SHA1.
This value specifies the string (signature) generated using
oauth_signature
the referenced signature method.
This value specifies the time that the request was sent. The
oauth_timestamp timestamp should be expressed in number of seconds after
January 1, 1970 00:00:00 GMT.
This value is a random, 64-bit, unsigned number encoded
oauth_nonce as an ASCII string in decimal format. The nonce/timestamp
pair should always be unique to prevent replay attacks.
This value specifies the OAuth version that Google should
use to handle your request. The default value is 1.0. If your
oauth_version
request includes this parameter, the parameter's value
must be 1.0.
Your application can use the same three mechanisms to specify these parameters as it can use to
specify parameters when obtaining a request token.
Sample Request
The following example exchanges a request token for an access token: POST
/accounts/OAuthGetAccessToken HTTP/1.1
Host: https://www.google.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth
oauth_consumer_key="example.com",
oauth_token="CKF50YzIHxCT85KMAg",
oauth_signature_method="RSA-SHA1",
oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
oauth_timestamp="137131200",
oauth_nonce="4572616e48616d6d65724c61686176",
24. oauth_version="1.0"
About the response
Google responds to a successful request for an access token with an HTTP 200
message that contains an access token and a token secret. The following example
shows a sample response containing an OAuth access token:
oauth_token=ab3cd9j4ks73hf7g&oauth_token_secret=ZXhhbXBsZS5jb20
Google may reject a token request if it is poorly formed or if Google has reason to believe the
requester is not acting in good faith. If the request is not successful, Google will return an HTTP
400 (Bad Request) response code.
Signing requests that use OAuth authentication
You must sign all API requests that retrieve or use an OAuth token. This requirement applies to
calls to obtain a request token or an access token as well as to any YouTube Data API requests
that require authentication, such as uploading a video or adding a rating to a video.
The following steps explain how to generate a signature for requests that use OAuth
authentication:
Use the oauth_signature_method parameter to specify the signature algorithm that the request
uses. Google supports the RSA-SHA1 and HMAC-SHA1 signature algorithms.
Construct a signature base string, which consists of three request elements that are concatenated
using ampersand (&) characters. Note that all parameter names and values must be encoded as
described in the OAuth Specification (section 5.1).
The first element specifies the HTTP request method (GET, POST, etc.).
The second element specifies the base URL for the request. The URL must not include any query
parameters. For example, if the request URL is http://gdata.youtube.com/feeds/api/videos?
q=football&orderby=published&v=2, then the base URL is
http://gdata.youtube.com/feeds/api/videos.
The third element contains a normalized string of the parameter and parameter values in the
request. The string should include any query parameters specified in the request URL as well as all
of the OAuth parameters except for the oauth_signature parameter. The OAuth Specification
(section 9.1.1), explains how to normalize the string.
Generate an oauth_signature using the specified oauth_signature_method.
o If you are using RSA-SHA1, generate the signature using the private key that
corresponds to the certificate that you uploaded to Google during the registration
process.
o If you are using HMAC-SHA1, generate the signature using the "consumer secret"
value generated during the registration process. (The value is displayed on your
domain's registration page.
The OAuth Specification (appendix A.5) provides a sample request that can be used to test HMAC-
SHA1 signatures. The example includes a signature base string and HMAC-SHA1 key as well as
the generated HMAC-SHA1 digest (signature).
Note: For more detailed information about signing an OAuth request, please see the OAuth
Specification (section 9).
25. ClientLogin for installed applications
To make an authenticated API request using YouTube's ClientLogin system for single-user
authentication, you must identify the YouTube user account associated with the request. By
providing the username and password for the user's YouTube user account, you are verifying that
the user is authorized to perform operations associated with that account. The authenticated
actions will then be associated with that account. Please note that the following instructions vary
slightly from the standard ClientLogin instructions.
To obtain an authentication token, submit an HTTP POST request to the following
URL: https://www.google.com/youtube/accounts/ClientLogin
The following guidelines apply to the request:
The POST request must specify the value application/x-www-form-urlencoded for the
Content-Type header.
The POST body must include a string in the following format:
Email=<username>&Passwd=<password>
&service=youtube&source=<source>
You need to make the following changes to this string:
Replace the <username> and <password> strings with one of the following combinations of
values:
i. If the user's YouTube account is linked to a Google Account, specify either
the YouTube account name or the email address associated with the Google
Account as the <username> and specify the Google Account password as
the <password>.
ii. If the user's YouTube account is not linked to a Google Account, specify the
user's YouTube account name as the <username> and the user's YouTube
account password as the <password>.
Replace the string <source> with a short string that identifies your application for logging
purposes.
The <username>, <password> and <source> values must all be URL-encoded.
Google will return a response that contains the authentication token that you will need to execute
API operations associated with the specified user's YouTube account. The authentication token will
be the Auth value on that page. In addition, the YouTubeUser value on the page will be the
user's YouTube account username. You must extract the authentication token and username from
the page and then submit those values in API requests. Please note that authentication tokens
expire periodically. As such, your application may need to repeat this authentication process and
update the value of the authentication token when the token is rejected as expired.
Note: The Google ClientLogin documentation explains how to also incorporate a CAPTCHA
challenge into an application using ClientLogin authentication.
Authentication Example
For example, suppose you want to authenticate a YouTube account for which the
username and password are testuser and testpassword, respectively. You can simulate
the HTTP POST request using the Linux 'curl' command, as shown in the following
example: curl
--location https://www.google.com/youtube/accounts/ClientLogin
26. --data 'Email=testuser&Passwd=testpw&service=youtube&source=Test'
--header 'Content-Type:application/x-www-form-urlencoded'
If your authentication request is successful, the response to your request will
have the following format. (Please note that the Auth token value has been
shortened in the example.) Auth=AIwbFARksypDdUSGGYRI_5v7Z9TaijoPQqpIfCEjTFPAikn_---
OC-I1VJtQ
YouTubeUser=testuser
When you make an authenticated API request using a ClientLogin authentication
token, your request needs to specify the Authorization HTTP request header as shown
in the example below: Authorization: GoogleLogin auth=<authentication_token>
X-GData-Key: key=<developer_key>
Authenticating requests from Flash applications
As shown in the examples throughout this documentation, different API operations are executed
using either HTTP GET, POST, PUT or DELETE requests. However, Flash applications must send an
HTTP POST request in order to set an Authorization header.
To submit an authenticated HTTP GET, PUT or DELETE request from a Flash
application, set the X-HTTP-Method-Override header in the request to either GET,
PUT or DELETE. If your application is submitting a GET request, it should set the
body of the request to the query parameters associated with that request as shown
in the following example: POST /feeds/api/videos HTTP/1.1
X-HTTP-Method-Override: GET
Host: gdata.youtube.com
Content-Type: application/atom+xml
Content-Length: CONTENT_LENGTH
Authorization: AuthSub token="<authentication_token>"
GData-Version: 2
X-GData-Key: key=<DEVELOPER_KEY>
vq=jesse+ventura&category=News
If your application is submitting a POST or PUT request, it should set the body of the request to an
XML document. The XML formats for different types of requests are defined later in this document.
27. Understanding video feeds and entries
When you retrieve a video feed or list of search results, YouTube returns an Atom feed that
contains one <entry> tag for each video in the result set. The root XML tag in the response will be
the <feed> tag. In addition to the information about the individual videos in the result set, the
feed will also contain the total number of results in the list, the index of the first item in the list,
the number of items in the list and other metadata about the feed.
The following XML shows the format of a YouTube Data API response containing a
video feed: <?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
xmlns:gml='http://www.opengis.net/gml'
xmlns:georss='http://www.georss.org/georss'
xmlns:media='http://search.yahoo.com/mrss/'
xmlns:batch='http://schemas.google.com/gdata/batch'
xmlns:yt='http://gdata.youtube.com/schemas/2007'
xmlns:gd='http://schemas.google.com/g/2005'
gd:etag='W/"CE4EQH47eCp7ImA9WxRQGEQ."'>
<id>tag:youtube,2008:standardfeed:us:top_rated</id>
<updated>2008-07-18T05:00:49.000-07:00</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
<title>Top Rated</title>
<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>
<link rel='alternate' type='text/html'
33. Displaying a list of videos
The following screenshot demonstrates how YouTube displays information in a video list. The
screenshot is annotated, and the list following the screenshot explains how the display elements
correspond to the information in an API response.
The screenshot displays the
Account Optimization: Optimization Overview
Share Comment Print
Next: Optimizing Your Brand Channel
Post High Quality & Original Content
Post High Quality & Original Content
Make videos that appeal to all kinds of audiences. Create original
Quality videos which comply with our Community Guidelines and for
which you own 100% of the copyrights.
Try to upload 1-2 new videos per week. Be consistent with the
Freshness day/time you upload new videos. Keep videos short and simple
(we recommend under 5 minutes).
34. Engage your audience through shoutouts, comments,
Engagement subscriptions, and by asking questions or soliciting ideas.
Encourage contests. Use eye-catching titles.
Utilize YouTube Features
Utilize YouTube Features
Use the partner branding options available to you. Upload catchy
Branding
and engaging banners and profile images.
Utilize the 'featured video' option by featuring your latest video
Navigation or one of your most popular. Put related videos in playlists. Use
a Video Log to highlight priority content.
Use the partner Performer Info available for your channel type.
Channel
For example, musicians can enter band details, album cover art
type
and event dates.
Search Use relevant and accurate tags, titles and video descriptions.
Increase Networking
Increase Networking
Encourage comments. Post replies. Comment on other content.
Connect Create Video Responses. Encourage others to subscribe to, rate
and share your videos. Join groups, forums and contests.
The "Other Channel Links" tool in Branding Options lets you list
Channel
up to 16 destination channels. Link to your other
Links
channels/websites or to friends' channels/websites.
Subscribe to your favorite channels. Highlight affiliate content
Subscribe the Ratings Box. Display your favorite videos in the Favorites
Box. Enable the Recent Activity box.
Cross-promote Your Content
Cross-promote Your Content
Promote your videos. Publicize your videos and your channel on
the radio, TV, websites, forums, newsletters, other social
Promote
networking platforms. Call out your YouTube channel in as many
places as you can.
Use our YouTube APIs to create YouTube badges for your
Badges website that display your YouTube presence and link to your
YouTube channel.
Allow embedding so others can distribute for you. Use the
embed URL that comes with each video to embed your videos on
Embed
your website. Send the links to blogs which may want to display
your content.
35. Andrew Bossom
Translator, language teacher, web designer
Lower Franconia, Germany
• About me
Born in England, studied languages and now living in Germany. Working freelance as an English
teacher and translator, with additional experience in web design.
Active on YouTube since December 2006 and moderately well known in the German YouTube
community; among the first of the German YouTube partners and making videos in both German
and English.
Where I grew upGlastonbury, Somerset, EnglandPlaces I've livedHerrenberg, Germany;
Wolverhampton, England; Berlin, Germany; St Petersburg, Russia
Next: Optimizing Your Brand Channel
Help forum > YouTube > rewboss
rewboss's discussions
Translator, language teacher, web designer
Top
Contributo
Lower Franconia, Germany
r
About rewboss
Joined
Google
Born in England, studied languages and now living in Germany. Help on
Working freelance as an English teacher and translator, with 11/27/08
additional experience in web design.
Questions:
Active on YouTube since December 2006 and moderately well
245 |
known in the German YouTube community; among the first of
Answers:
the German YouTube partners and making videos in both
9475
German and English.
View full profile
Display questions sorted by
Asked
Topic Replies
By
How do I UNsubscribe to a video? There's no Edit Subscription button anymore in How do 12:01 3
36. I...? PM
10/7/1
Parodies or usage of copyrighted media in Creator's Corner 6
0
Limit viewing of videos to specific channels or content? in How do I...?
9/30/1
10
0
Answered
I would like to upload a video from youtube to biz website. It is a theme song to an old tv 12:48
1
show. Do I need permission? in Creator's Corner PM
i surprised that this user (swedilund)had stolen my video which i made edited in How do 12:19
2
I...? PM
I reported Shane Dawson by mistake, while I was checking his honours.. what can I do?? in 12:13
1
How do I...? PM
9/22/1
I cannot add annotations to one of my videos. in Bug Reports & Technical Issues 3
0
10/7/1
What is going on with the official Youtube channel? in Partner Forum 9
0
10/7/1
Sex Offenders YouTube Partners? in Partner Forum 8
0
Every time you get permission to use something in your video, do you have to get letter? in
Partner Forum 10/7/1
5
0
Answered
Is it possible to put in too many tags? in Creator's Corner
10/7/1
3
0
Answered
Whenever I click the trim icon on edit video it says "error on page" at the bottom left of my 10/7/1
6
browser does nothing. in Bug Reports & Technical Issues 0
Video stuck at 304 views yet the like thes and comments are being added can this be fixed? 10/7/1
6
in Bug Reports & Technical Issues 0
7/17/1
I'm a Youtube Partner, confused!!! How do I activate inAD Video option? in Partner Forum 7
0
10/4/1
Check out my Videos, tell me what you think! in Creator's Corner 5
0
I downloaded video from YouTube and wanted to send to Facebook but posted it back to 10/6/1
3
YouTube by mistake. in Creator's Corner 0
How do I get my account back.Why was it suspended. I had 23 friends requests in my 10/7/1
3
mailbox to answer. in How do I...? 0
Username Squatting Suspected...preventing youtube account activation in Bug Reports & 10/7/1
3
Technical Issues 0
10/7/1
(Friend) Can't access site. in Bug Reports & Technical Issues 2
0
10/5/1
Can't Upload Videos in Partner Forum 7
0
1 2 3 4 5 6 7 8 9 10 11 ... | Next >