2 votes

405 Méthode non autorisée

J'ai essayé d'accéder à https://api.box.com/2.0/files mais je reçois Expected status code in (200-299), got 405 dans ma réponse (d'AFNetworking).

Avant d'envoyer la requête, j'ai obtenu mon auth_token du serveur.

Code

- (void)getFileListing:(NSString*)apiKey
{
    if(apiKey == nil) { apiKey = kBoxNetApiKey; }

    NSDictionary *boxAuth = [[NSUserDefaults standardUserDefaults] objectForKey:kBoxNetUserDefaultsKey];

    if([boxAuth objectForKey:@"auth_token"] != nil) {
        NSURL *url = [NSURL URLWithString:@"https://api.box.com/2.0/files"];
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
        [request setHTTPMethod:@"GET"];

        DLog(@"auth_token: %@", [boxAuth objectForKey:@"auth_token"]);
        DLog(@"apiKey: %@", apiKey);

        NSString *auth = [NSString stringWithFormat:@"BoxAuth api_key=%@&auth_token=%@", apiKey, [boxAuth objectForKey:@"auth_token"]];
        [request setValue:auth forHTTPHeaderField:@"Authorization"];

        AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {

            DLog(@"JSON: %@", JSON);

        } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {

            DLog(@"error: %@", error);
            DLog(@"JSON: %@", JSON);

        }];

        [operation start];
    }
}

* Erreur

__29-[BoxNetAuth getFileListing:]_block_invoke_081 [Line 75] error: Error Domain=AFNetworkingErrorDomain Code=-1011 "Expected status code in (200-299), got 405" UserInfo=0xa0b8740 {NSLocalizedRecoverySuggestion={"type":"error","status":405,"code":"method_not_allowed","help_url":"http:\/\/developers.box.com\/docs\/#errors","message":"Method Not Allowed","request_id":"183259878350bcd62a62f1b"}, AFNetworkingOperationFailingURLRequestErrorKey=<NSMutableURLRequest https://api.box.com/2.0/files>, NSErrorFailingURLKey=https://api.box.com/2.0/files, NSLocalizedDescription=Expected status code in (200-299), got 405, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0xa6c9840>}

5voto

Rob Radez Points 126

Vous ne pouvez pas faire un GET sur https://api.box.com/2.0/files car il a besoin d'un identifiant de ressource comme : GET https://api.box.com/2.0/files/12345

Vous pouvez POSTER à https://api.box.com/2.0/files/content pour télécharger un nouveau fichier ou vous pouvez GET https://api.box.com/2.0/folders/0 pour obtenir le dossier racine

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X