0

我有一个应用程序,用户可以在其中将视频上传到 youtube。我让用户输入他们的密码和用户名进行登录,然后他们输入“标题”、“描述”、“标签”、“类别”和“隐私设置”,即公共、私人、未列出。一切正常。但是,我无法验证给定用户名的密码是否有效,或者即使用户名有效。填写密码和用户名并点击“登录”按钮后,它们将作为密码.txt 和用户名.txt 保存到文档目录中。然后这些用于完成该过程,实际上是在后续上传时从文档目录加载,直到用户注销,在这种情况下,文件被删除。我的问题是当用户填写密码和用户名并保存它们以确保它们有效时,我想与 YouTube 核对。有人可以帮我弄这个吗。

这是我用来输入用户名和密码的代码以及 YouTube 的开发人员密钥,以获取允许上传视频的服务。

- (GDataServiceGoogleYouTube *)youTubeService {

    static GDataServiceGoogleYouTube* service = nil;

    if (!service) {
        service = [[GDataServiceGoogleYouTube alloc] init];

        [service setShouldCacheResponseData:YES];
        [service setServiceShouldFollowNextLinks:YES];
        [service setIsServiceRetryEnabled:YES];

        /*[service setUserCredentialsWithUsername:accountView.text password:PasswordDisplayField.text];*/
    }


    NSString *username = [accountView.text retain];
    NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
    accountView.text = [username stringByTrimmingCharactersInSet:whitespace];

    /*if ([accountView.text rangeOfString:@"@"].location == NSNotFound)
    { accountView.text = [kYoutubeUsername stringByAppendingString:@"@gmail.com"]; }*/

    if (([accountView.text length] > 0) && ([PasswordDisplayField.text length] > 0))
    { [service setUserCredentialsWithUsername:[accountView.text retain] password:[PasswordDisplayField.text retain]]; }
    else
    { [service setUserCredentialsWithUsername:nil password:nil]; }

    [service setYouTubeDeveloperKey:devKey];





    return service;



}

然后我使用此代码获取上传的 URL

NSURL *url = [GDataServiceGoogleYouTube youTubeUploadURLForUserID:kGDataServiceDefaultUser];

但我不确定如何使用这些来检查用户名和密码是否匹配和兼容,如果它们不匹配,则返回错误消息。如果它们不正确,我也不想保存它们。

如果有人可以提出解决方案、教程、视频或其他内容来帮助我完成此任务,我将不胜感激。

谢谢

4

1 回答 1

0

我强烈建议使用 Objective-C 客户端库迁移到 OAuth 2:

http://code.google.com/p/gdata-objectivec-client/ http://code.google.com/p/gtm-oauth2/

作为您的应用程序的用户,如果知道您以这样的明文形式存储我的 Google 帐户地址和密码,我会感到非常难过。请切换到 OAuth 2。

于 2012-12-28T17:15:45.937 回答