在应用内设置YouTube访问权限,坚持检索网址响应

时间:2013-07-29 16:24:08

标签: ios youtube-api oauth-2.0 google-api-objc-client

我无法在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.

}

从YouTube API文档中说出

  

使用此值时,您的应用程序可以感知到页面已加载,HTML页面的标题包含授权代码。如果要确保用户永远不会看到包含授权代码的页面,则应由您的应用程序关闭浏览器窗口。执行此操作的机制因平台而异。

“this value”指的是我选择的redirect_uri,而不是本地主机重定向。

我如何感觉用户已登录到他们的帐户并按下“接受”按钮,这现在也引导我询问如何知道这一点,然后在关闭浏览器时从返回的URL中检索代码。

干杯,吉姆。

1 个答案:

答案 0 :(得分:0)

我强烈建议您使用Google Toolbox for Mac OAuth 2 Controllers项目来处理您的OAuth 2集成的所有详细信息。