美文网首页iOS Tools
iOS 共享到Yandex.Disk 俄罗斯网盘

iOS 共享到Yandex.Disk 俄罗斯网盘

作者: valiant_xin | 来源:发表于2019-11-29 17:02 被阅读0次

    iOS 共享爬坑记

    Yandex.Disk 俄罗斯网盘,俄罗斯第一网盘。
    打开网页之后,看了第一眼,全是俄语……
    嗯,很好,关闭网页,收拾行李,江湖路远,我们有缘再见!!
    开个玩笑,开个玩笑,贫穷限制了我的行动力。

    我热爱学习,热爱工作!

    打开网页,只能硬着头皮上了。翻了半天,没有pod导入?嗯?要不放弃?
    开什么玩笑,我那么

    热爱工作!

    好在在官方网站上还是找到了他们的代码,只可惜需要自己手动去导入。而且直接下载的话,KissXML并不会被下载下来,还需要跑去专门把它给下载下来。

    导入头文件

    // Yandex.disk
    #import "YDSession.h"
    #import "YOAuth2Delegate.h"
    #import "YOAuth2ViewController.h"
    

    开始

    - (void)yandexAction {
        [self yandexAuthor];
    }
    

    授权

    
    - (void)yandexAuthor {
        if (self.ydSession == nil) {
            self.ydSession = [[YDSession alloc] initWithDelegate:self];
        }
        // 如果没有认证
        if (!self.ydSession.authenticated) {
            YOAuth2ViewController *vc = [[YOAuth2ViewController alloc] initWithDelegate:self];
            UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
            self.ydLoginVc = nav;
            [self presentViewController:nav animated:YES completion:nil];
        }else {
            [self yandexUploadFile:[[NSBundle mainBundle] pathForResource:@"4.pdf" ofType:nil]];
        }
    }
    

    上传

    // 上传
    - (void)yandexUploadFile:(NSString *)filePath {
        [self.ydSession uploadFile:filePath toPath:[NSString stringWithFormat:@"/%@",filePath.lastPathComponent] completion:^(NSError *err) {
            NSLog(@"err");
        }];
        [self.ydSession fetchDirectoryContentsAtPath:@"/" completion:^(NSError *err, NSArray *list) {
            NSLog(@"%@",list);
        }];
    }
    

    YDSessionDelegate

    -(NSString *)userAgent
    {
        return @"A1B2C3D4E6.com.face.magic";
    }
    

    YOAuth2Delegate

    #pragma mark  YOAuth2Delegate
    
    - (NSString *)clientID
    {
        return @"24aa9da88a8a4b93b4a991f544cdd4cf";
    }
    
    -(NSString *)redirectURL
    {
    //#warning Replace the following with the data you got when registering your app at: https://oauth.yandex.ru/
        return @"https://yx24aa9da88a8a4b93b4a991f544cdd4cf.oauth.yandex.ru/auth/finish?platform=ios";
    }
    
    - (void)OAuthLoginSucceededWithToken:(NSString *)token
    {
        self.ydSession.OAuthToken = token;
        [self.ydLoginVc dismissViewControllerAnimated:YES completion:^{
            [self yandexUploadFile:[[NSBundle mainBundle] pathForResource:@"4.pdf" ofType:nil]];
        }];
    }
    
    - (void)OAuthLoginFailedWithError:(NSError *)error
    {
        NSLog(@"It's time to PANIC: %@", error);
        [self.ydLoginVc dismissViewControllerAnimated:YES completion:nil];
    }
    

    OK,结束。

    帮助文档:
    不存在的。

    相关文章

      网友评论

        本文标题:iOS 共享到Yandex.Disk 俄罗斯网盘

        本文链接:https://www.haomeiwen.com/subject/vcugwctx.html