2014-01-29 42 views
1

擷取OMDb API數據我想從OMDb API與AFNetworking

獲取電影數據OMDb提供有一個錯誤的內容類型的反應,但我能夠規避這一點。 不過,我還是從AFNetworking接收錯誤:

錯誤而獲取IMDBSingleMovieData:錯誤 域= NSCocoaErrorDomain代碼= 3840「的操作無法完成 (可可錯誤3840)」(JSON文本做不與陣列或 對象和選項,允許片段不設置開始)的UserInfo = 0x10a7451d0 {NSDebugDescription = JSON文本不與陣列或對象和 選項以允許片段未設置啓動。}

代碼:

// add url request parameters 
NSDictionary* parameters = @{ @"i" : [NSString stringWithFormat:@"tt%d", identifier] }; 

// run the request operation 
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 
[manager POST:@"http://www.omdbapi.com" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     self.singleIMDBMovieData = [NSDictionary dictionaryWithDictionary:responseObject]; 
     [self.delegate updateIMDBMovieDetails]; 
     NSLog(@"Object returned %@", self.singleIMDBMovieData); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error while fetching IMDBSingleMovieData: %@", error); 
}]; 

我該怎麼做才能解決這個問題?從API 樣本響應:http://www.omdbapi.com/?i=tt0993846

+0

我建議使用TMDB代替;它有一些很好的包裝庫,如iOS https://www.themoviedb.org/documentation/api/wrappers-libraries – sekmo

+0

是的,但我已經有一個IMDB id我想搜索數據。 TMBD在這一點上不提供 – edwardmp

回答

1

你正在做一個POST請求,但要獲取數據,所以你應該使用GET

[manager GET:@"http://www.omdbapi.com" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     self.singleIMDBMovieData = [NSDictionary dictionaryWithDictionary:responseObject]; 
     [self.delegate updateIMDBMovieDetails]; 
     NSLog(@"Object returned %@", self.singleIMDBMovieData); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error while fetching IMDBSingleMovieData: %@", error); 
}];