我找不到任何关于我的 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 中检索代码。
干杯,吉姆。