मैंने ड्रॉपबॉक्स यूआरएल को कॉल करने की कोशिश की https://api.dropboxapi.com/2/users/get_current_account यह जांचने के लिए कि क्या टोकन का उपयोग अच्छा है।

यह पोस्टमैन पर एक आकर्षण की तरह काम करता है, लेकिन यह आईओएस पर काम नहीं कर रहा है।

यहाँ पोस्ट मैन कॉल है:
शीर्षकों में:
Headers शरीर में:
Body

यह कोड:

            DBUserClient *client = [[DBUserClient alloc] initWithAccessToken:@"-sWPE_Fqxxxxxxxxxxxxxxxxxxxfdhgfdf82mk"];

            [[client.usersRoutes.getCurrentAccount] response:^(DBUSERSFullAccount *account, DBNilObject *_, DBRequestError *error) {
                if (account) {
                    NSLog(@"%@", account);
                } else if (error) {
                    NSLog(@"%@", error);
                }
            }];

(काम नहीं करता है, फ़ंक्शन प्रतिक्रिया: ^ पहचाना नहीं गया है।

और यह मेरा कोड है:

DBUserClient *client = [[DBUserClient alloc] initWithAccessToken:@"-sWPE_FqvVAAxxxxxxxxxakjhdazhdzatEQGUd82mk"];


                NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString: @"https://api.dropboxapi.com/2/users/get_current_account"]];

                [urlRequest setHTTPMethod:@"POST"];

                NSData *postData = [NSData new];
                [urlRequest setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[postData length]] forHTTPHeaderField:@"Content-Length"];
                [urlRequest setHTTPBody:postData];


                NSURLSession *session = [NSURLSession sharedSession];
                NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
                    NSLog(@"code status: %ld", (long)httpResponse.statusCode);
                    if (httpResponse.statusCode == 200)
                    {
                        NSError *parseError = nil;
                        NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
                        NSLog(@"The response is - %@",responseDictionary);
                        NSInteger success = [[responseDictionary objectForKey:@"success"] integerValue];
                        if(success == 1)
                        {
                            NSLog(@"Login SUCCESS");
                        }
                        else
                        {
                            NSLog(@"Login FAILURE");
                        }
                    }
                    else
                    {
                        NSLog(@"Error");
                    }
                }];
                [dataTask resume];

(यह भी काम नहीं करता है, एक कोड स्थिति 400 है)

NSHTTPURLप्रतिक्रिया:

<NSHTTPURLResponse: 0x281fd3c20> { URL: https://api.dropboxapi.com/2/users/get_current_account } { Status Code: 400, Headers {
    "Content-Disposition" =     (
        "attachment; filename='error'"
    );
    "Content-Type" =     (
        "text/plain; charset=utf-8"
    );
    Date =     (
        "Wed, 10 Jul 2019 08:18:40 GMT"
    );
    Server =     (
        nginx
    );
    "content-security-policy" =     (
        "sandbox; frame-ancestors 'none'"
    );
    "x-content-type-options" =     (
        nosniff
    );
    "x-dropbox-request-id" =     (
        17d523a27f864ce88531b122b4bec71d
    );
    "x-frame-options" =     (
        DENY
    );
} }

कोई विचार?

1
ΩlostA 9 जुलाई 2019, 21:09

1 उत्तर

सबसे बढ़िया उत्तर

आपको यह कोशिश करनी चाहिए:

[[client.usersRoutes getCurrentAccount] setResponseBlock:^(DBUSERSFullAccount * _Nullable result, DBNilObject * _Nullable routeError, DBRequestError * _NullablenetworkError)
                {
                    if (networkError != nil)
                    {
                        NSLog(@"getCurrentAccount failed: network error");
                    }
                    else if (routeError != nil)
                    {
                        NSLog(@"getCurrentAccount failed: route error");
                    }
                    else
                    {
                        NSLog(@"got Dropbox account email: %@", result.email);
                    }
                }];
1
WikeC 2 अगस्त 2019, 15:59