我正在使用适用于iOS的GitHub REST API,无法在基本身份验证下正常运行。我编写了以下代码来查看用户GitHub存储库:
NSString *requestString = [NSString stringWithFormat:@"https://%@:%@@api.github.com/user/repos",userName,password]; NSURL *url = [NSURL URLWithString:requestString]; NSURLRequest *req = [NSURLRequest requestWithURL:url]; NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:req completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; NSString *strData = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@", strData); }]; [dataTask resume];
我收到以下回复:
{"message":"Requires authentication","documentation_url":"https://developer.github.com/v3"}
但是,当我在终端中执行以下操作时:
curl -i GET https://userName:password@api.github.com/user/repos
我从GitHub获得了预期的结果。我不确定我的iOS应用程序缺少什么身份验证,因为我的curl
语句中没有我的iOS代码中没有的任何内容。非常感谢您对我所缺少的任何帮助。