我正在尝试在我的 iOS 应用程序中调用 khan academy api。我正在使用 AFNetworking 类进行 api 调用。这是我的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager GET:@"http://www.khanacademy.org//api/v1/topictree" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
[activityIndicator stopAnimating];
NSLog(@"no error");
for (NSString *key in [responseObject allKeys]) {
NSLog(@"%@", [responseObject objectForKey:key]);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error");
[activityIndicator stopAnimating];
NSLog(@"Error Khan: %@", [error localizedDescription]);
}];
当我访问http://www.khanacademy.org//api/v1/topictree时,这是一个很长的列表。我有一种预感,它可能是 JSON 解析,因为我只得到一个 NSDictionary。正如您在上面的代码中看到的,我使用快速枚举来查看值和键。
如果这是正确的解析。我不知道使用哪些键来获取所有主题的列表。然后,当用户单击我想显示视频列表的主题时,我需要访问特定于 mp4 的视频下载 url。我可以在播放列表列表方法中做到这一点,但它已被弃用。
这样做的目的是能够查看列表,如果主题后跟主题视频,然后是视频描述,然后是 mp4 格式的可下载 url。
我也收到了错误错误汗:
操作无法完成。(可可错误 3840。)
但有时它会起作用。
感谢所有帮助。
提前致谢,
乔尔