рдлрд╝реЛрдЯреЛ рд╕реЗ рд╕реНрд▓рд╛рдЗрдб рд╢реЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдЕрдкрдиреЗ YouTube рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЪреИрдирд▓ рдкрд░ рддреИрдпрд╛рд░ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдореБрдЭреЗ рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯреЛрдХрди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ Google рдореИрдиреБрдЕрд▓ рдореЗрдВ рдХреБрдЫ рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдФрд░ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдХрдЯ рдХреЗ рддрд╣рдд рд╡рд┐рд╡рд░рдгред
рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рд░:рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЕрдкрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рд╕рднреА рддрд╕реНрд╡реАрд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рдВрдЧреАрдд рд╕рдВрдЧрдд рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдкреНрдд рд╡реАрдбрд┐рдпреЛ рдХреЛ рдХрд╣рд╛рдВ рд░рдЦреЗрдВ: рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдСрди-рд▓рд╛рдЗрди рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ YouTube рдпрд╛ рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдЪреИрдирд▓ рдЪреИрдирд▓ рдкрд░ YouTube рдЪреИрдирд▓ред (рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рднреА рдИрдореЗрд▓ рдкрддреЗ рдкрд░ рдЖрддрд╛ рд╣реИ)ред
рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЪреИрдирд▓ рдкрд░ рдПрдХ рдкреНрд░рдХрд╛рд╢рди рдЪреБрдирдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрдВ рдЪреИрдирд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ 60 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╡реИрдз рд░рд╣рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдзреАрдореЗ рдЗрдВрдЯрд░рдиреЗрдЯ (рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдкрд▓реЛрдб) рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдХрддрд╛рд░ рдЬрдорд╛ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдЯреЛрдХрди рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рджреВрд╕рд░реЗ рдЕрдиреБрд░реЛрдз рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рддреБрд░рдВрдд рдЯреЛрдХрди рдФрд░ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рджреВрд╕рд░реЗ рдХреА рд╡реИрдзрддрд╛ рдЕрд╡рдзрд┐ рдЕрд╕реАрдорд┐рдд рд╣реИ рдФрд░ рд╣рдо 60 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рднреА рд╡реАрдбрд┐рдпреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреАрдбрд╝реЗ рддрдп:рдЯреЛрдХрди рдФрд░ рд░рд┐рдлреНрд░реЗрд╢ рдЯреЛрдХрди рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдореИрдиреБрдЕрд▓ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╡рд░реНрдгрд┐рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рдереАрдВред
1. рдмрд╣реБрдд рдкрд╣рд▓реА рдХрдард┐рдирд╛рдИ: рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдЯреЛрдХрди рдЕрдорд╛рдиреНрдп рдерд╛ред
рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛
Android рдкрд░ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:Intent intent = new Intent(...); intent.setData(Uri.parse("https://accounts.google.com/o/oauth2/auth?"+ "scope= " + scope + "&" + "redirect_uri=" + redirect_uri + "&" + "response_type=" + response_type + "&" + "client_id=" + client_id)); startActivityForResult(intent);
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдорд┐рд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рдХреЛ рдЯреЛрдХрди рддрд╛рдЬрд╝рд╛ рдХрд░рддреЗ рд╣реИрдВ
HttpPosthttppost = newHttpPost("https://accounts.google.com/o/oauth2/token"); httppost.setHeader("Content-Type", "application/x-www-form-urlencoded"); List<NameValuePair>nameValuePairs = newArrayList<NameValuePair>(); nameValuePairs.add(newBasicNameValuePair("code", code)); nameValuePairs.add(newBasicNameValuePair("client_id", client_id)); nameValuePairs.add(newBasicNameValuePair("redirect_uri", redirect_uri)); nameValuePairs.add(newBasicNameValuePair("grant_type", "authorization_code")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent())); String responseLines; while ((line = reader.readLine()) != null) { responseLines += line; } JSONObject jsonObject = new JSONObject(responseLines);
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ: { "access_token":"1/fFAGRNJru1FTz70BzhT3Zg", "expires_in":3920, "token_type":"Bearer", "refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" }
рд╣рдо рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЯреЛрдХрди рддрд╛рдЬрд╝рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВ
рд╕рд░реНрд╡рд░ рдХреА рдУрд░ рдЗрд╕ рддрд░рд╣:
рдЯреЛрдХрди рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: var verificationUri = "https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=" + youTubeToken; var hc = new HttpClient(); var response = hc.GetAsync(verificationUri).Result; string tokenInfo = response.Content.ReadAsStringAsync().Result; JsonTextParser parse = new JsonTextParser(); JsonObject jsonObj = parse.Parse(tokenInfo);
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ: { "access_token":"1/fFAGRNJru1FTz70BzhT3Zg", "expires_in":320, "token_type":"Bearer" }
рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЯреЛрдХрди рдЬреАрд╡рди рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ, рддрд╛рдЬрд╝рд╛ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: WebClient client = new WebClient(); NameValueCollectionloginFormValues = newNameValueCollection(); loginFormValues.Add("client_id", client_id); loginFormValues.Add("refresh_token", refreshYouTubeToken); loginFormValues.Add("grant_type", "refresh_token"); Byte[] response = client.UploadValues("https://accounts.google.com/o/oauth2/token", loginFormValues); string result = Encoding.UTF8.GetString(response); JsonTextParser parse = newJsonTextParser(); JsonObjectjsonObj = parse.Parse(result);
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ: { "access_token":"1/fFBGRNJru1FQd44AzqT3Zg", "expires_in":3600, "token_type":"Bearer", }
рд╣рдо рдкреНрд░рд╛рдкреНрдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
2. рдЖрдЧреЗ, рдкреИрд░рд╛рдореАрдЯрд░ "рдЧреБрдВрдЬрд╛рдЗрд╢", "рд░рд╛рдЬреНрдп" рдФрд░ "client_secret": рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЬрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдФрд░ рдпрджрд┐ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рддреЛ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд - рдХрднреА-рдХрднреА рдЙрдиреНрд╣реЗрдВ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ рдЬрд╣рд╛рдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд░рд╛рдЬреНрдп" рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдХреНрд╕рд░ рдирд┐рдХрдЯрддрдо рдЕрдореЗрд░рд┐рдХреА рд░рд╛рдЬреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓реНрдп рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ Google рд╕рд░реНрд╡рд░ рд╕реНрдерд┐рдд рд╣реИ - рдЗрд╕рд╕реЗ рд╕рд░реНрд╡рд░ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдХреА рдЧрддрд┐ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд░реВрд╕ рдореЗрдВ рдпрд╣ рдмреЗрдХрд╛рд░ рд╣реИред
"рд╕реНрдХреЛрдк" Google рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рд╣рдо рдХрд┐рд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХрд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рдПред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ YouTube рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ред рдЙрд╕реА рд╕рдордп, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо Google рдХреИрд▓реЗрдВрдбрд░ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
Google рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ client_secret рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
3. рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡реЗрдмрд╕рд░реНрд╡рд░ рдкрд░ рдмрдиреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЯреЛрдХрди рдорд╛рдВрдЧрддреЗ рд╕рдордп, рд╡реЗрдмрд╕рд░реНрд╡рд░ рдЕрдорд╛рдиреНрдп рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрдВрд╕реНрдЯреЙрд▓рдкреНрд╕ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдЖрдПред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпреЛрдВред
4.
рдбреЗрд╡рд▓рдкрд░реНрд╕ ред
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛, "рдХрд▓рд╢: ietf: wg: oauth: 2.0: oob" рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред
5. рдпрд╣ рд╕рд╡рд╛рд▓ рднреА рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдЕрдХрд╛рдЙрдВрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╛рдиреА рдПрдХ рдЦрд╛рддрд╛ Android рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рдЦрд╛рддреЗ рд╕реЗ рд╣реИ рдХрд┐ рдЖрдк рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ рд╕реЗ рдЬреЛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
6. рдпрд╣ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ "GOOGLE рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рдВрдЧ" рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд┐рд╕ рд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП? рд╣рдо "YouTube рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
7. рдФрд░ рдпрд╣ рднреА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ OAUTH2 Android рдХреЗ рд▓рд┐рдП Google рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╡рдЬрди рдЗрддрдирд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдИ рдЧреБрдирд╛ рднрд╛рд░реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдХреЛрдИ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛, рд╕рд╛рде рд╣реА рдЕрдЧрд░ рдХреЛрдИ рдореЗрд░реЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддрд╛ рд╣реИред