This document explains the process of spawning an Android WebView
, iOS UIWebView
, or similar object, to allow a user to create a YouTube channel and then return control to your application. Your application should implement this flow to handle API errors that occur when a user with an unlinked Google Account tries to complete an action that actually requires a YouTube channel.
Note: As discussed in the Developer's Guide, a user who has a Google Account but does not have a YouTube channel is identified as having an unlinked Google Account. Such users can access many YouTube features that are dependent on user authorization, such as the ability to create playlists or rate videos. However, those users cannot upload videos to YouTube without first creating a YouTube channel.
Use case
The following steps explain the use case:
-
A user with an unlinked Google Account tries to complete an action that requires a YouTube channel. Your application sends an authorized API request for that action.
-
YouTube returns a
youtubeSignupRequired
error, indicating that the user must sign up for a YouTube account to complete the requested action. -
Your application launches a
WebView
or equivalent that loads the following URL:https://m.youtube.com/create_channel?chromeless=1&next=/channel_creation_done
This page enables the user to log in and create a YouTube channel.
-
Your application monitors the
WebView
to determine when its location changes to the following URL, which indicates that the user's Google Account has been linked to a YouTube channel.https://m.youtube.com/channel_creation_done
-
Your application closes the
WebView
and resends the authorized API request from step 1.
If the user closes the WebView
without completing the steps to create a YouTube channel, then your application will not be able to resend the API request from step 1 and have it succeed. In this case, your application could reiterate that the user will need to create a YouTube channel to complete the requested action.
Additional resources
The following resources may help you to implement this flow in your application:
-
Android developers
WebView
class documentation- Building Web Apps in WebView
-
iOS developers
- Google Toolbox for Mac - OAuth 2.0 controllers – This project demonstrates how to launch an OAuth 2.0 authorization flow in a
UIWebView
, which is a similar operation to the one described in this document.
- Google Toolbox for Mac - OAuth 2.0 controllers – This project demonstrates how to launch an OAuth 2.0 authorization flow in a