1

我找不到任何关于我的 YouTube API 谜题的答案或类似问题,希望有人能提供帮助。

我的 iOS 应用程序在其中制作视频,需要连接到用户的 YouTube 帐户,以便他们可以上传视频供其他人观看等。

我遵循了 API 文档并设法连接到用户登录其帐户的身份验证部分(我使用的代码发布在下面)。

它的工作原理是将用户带到谷歌的登录页面,当登录页面询问用户是否要授权应用程序访问帐户等时。当用户接受时,我知道应该返回数据为应用提供身份验证、令牌代码,以便稍后在应用内上传视频。

我的问题是....我如何检索这些数据?当我单击接受时,它只是将我带到另一个网页,但我不知道在哪里检索信息。

提前感谢任何可以为我指明正确方向的人。

#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 页面的标题包含授权代码。如果您想确保用户永远不会看到包含授权代码的页面,则由您的应用程序关闭浏览器窗口。执行此操作的机制因平台而异。

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

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

干杯,吉姆。

4

1 回答 1

0

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

于 2013-07-29T20:51:32.563 回答