使用ObjectiveDropboxOfficial框架获取用户信息

时间:2016-09-18 17:54:54

标签: ios objective-c block dropbox

我在Objective-C应用程序中使用ObjectiveDropboxOfficial框架进行Dropbox集成(由于v1 dropbox api的弃用)。 Framework link

我正在尝试登录Dropbox用户信息(电子邮件,姓名等)。这是我的代码:

DropboxClient *client=[DropboxClientsManager authorizedClient];
    [[client.usersRoutes getCurrentAccount]
    response:^_Nonnull(DBUSERSBasicAccount *response, DBError *dberror)
     {
             // loginLabel.text=[NSString stringWithFormat: @"%@\n%@", account.name, account.email];
             
             return response;
             
         }
     }];

此代码不起作用,另外还会导致xcode产生奇怪的错误:enter image description here 方法定义是:

    - (DBRpcTask<DBUSERSBasicAccount *, DBUSERSGetAccountError *> *_Nonnull)      getAccount:(NSString *_Nonnull)accountId;

- (DBRpcTask<TResponse, TError> *_Nonnull)response:
    (void (^_Nonnull)(TResponse _Nullable, TError _Nullable,
                      DBError *_Nullable))responseBlock;

我被困了一整天,任何帮助都会受到赞赏: 1-如何使用框架获取用户信息,或 2-导致错误的原因以及如何调用Nonnull方法?

提前谢谢

1 个答案:

答案 0 :(得分:4)

所以经过2天的努力终于找到了答案:

DropboxClient *client = [DropboxClientsManager authorizedClient];
if(client)
{


[[client.usersRoutes getCurrentAccount] response:^(DBUSERSFullAccount *account, DBNilObject *obj, DBError *error) {
    if (error != nil) {
        NSLog(@"Error %@", error.errorContent);
    }

    if (account != nil) {
        NSLog(@"User's name %@", account.name.displayName);

    }
    if(self.hud)
    [self.hud hideAnimated:YES];
}];

我希望这能挽救另一位开发者的精力和心理健康:)