Настройка доступа к YouTube внутри приложения, застрял при получении ответа URL
Я не могу найти ответы или похожие вопросы на мою головоломку YouTube API и надеюсь, что кто-то может помочь.
Моему приложению iOS, которое создает видео внутри него, необходимо подключиться к учетной записи YouTube пользователя, чтобы они могли загружать видео для просмотра другими пользователями и т. Д.
Я следовал документации API и смог подключиться к части аутентификации, где пользователь входит в свою учетную запись (код, который я использовал, размещен ниже).
Он работает в том смысле, что он переводит пользователя на страницу входа в Google, когда он заходит на страницу и спрашивает, хочет ли пользователь авторизовать доступ приложения к учетной записи и т. Д. Когда пользователь соглашается, я понимаю, что должны быть возвращены данные, которые дает аутентификацию приложения, код токена, поэтому его можно использовать для последующей загрузки видео в приложении.
У меня вопрос.... Как мне получить эти данные? Когда я нажимаю "Принять", он просто переносит меня на другую веб-страницу, но я не знаю, где получить информацию.
Заранее спасибо всем, кто может указать мне правильное направление.
#define kAuthUrl @"https://accounts.google.com/o/oauth2/auth?"
#define kClientID @"client_id=xxxxxxxxxxxMyUniqueIDDetailsxxxxxxxxxx&"
#define kRediretUri @"redirect_uri=urn:ietf:wg:oauth:2.0:oob&"
#define kScopeUL @"scope=https://www.googleapis.com/auth/youtube.upload&"
#define kResponse @"response_type=code"
Выше код помещен в заголовочный файл.
- (void)viewDidLoad
{
NSString *loginURL = [NSString stringWithFormat:@"%@%@%@%@%@", kAuthUrl, kClientID, kRediretUri, kScopeUL, kResponse];
NSURLRequest * urlReq = [NSURLRequest requestWithURL: [NSURL URLWithString:loginURL]];
[_webView loadRequest:urlReq];
[super viewDidLoad];
// Do any additional setup after loading the view.
}
Из документации API YouTube написано
Когда используется это значение, ваше приложение может почувствовать, что страница загружена, а заголовок HTML-страницы содержит код авторизации. Затем ваше приложение должно закрыть окно браузера, если вы хотите, чтобы пользователь никогда не видел страницу, содержащую код авторизации. Механизм для этого варьируется от платформы к платформе.
Где "это значение" относится к выбранному мной redirect_uri, а не к перенаправлению локального хоста.
Как я могу почувствовать, что пользователь вошел в свою учетную запись и нажал кнопку "принять", и теперь это также заставляет меня спросить, как это узнать, а затем извлечь код из возвращенного URL при закрытии браузера.
Ура, Джим.
1 ответ
Я настоятельно рекомендую использовать проект Google Toolbox для Mac OAuth 2 Controllers, чтобы обрабатывать все детали вашей интеграции OAuth 2 для вас.