1

我只是测试了 face.com 人脸识别 api,我在 json 请求上取得了成功:

NSString *url = @"http://api.face.com/faces/detect.json?api_key=myapi&api_secret=mysecret&urls=http://userserve-ak.last.fm/serve/_/47363849/Christina+Aguilera+HQ+PNG.png";

// Create new SBJSON parser object
SBJsonParser *parser = [[SBJsonParser alloc] init];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];

// Perform request and get JSON back as a NSData object
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

// Get JSON as a NSString from NSData response
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];

// parse the JSON response into an object
// Here we're using NSArray since we're parsing an array of JSON status objects
NSDictionary *obj = [parser objectWithString:json_string];

//
NSString *status = [obj objectForKey:@"status"];

//
NSLog(@"status: %@", status);

当我将 api 密钥、秘密和 WEB 上的图像作为 GET 参数传递时,此方法有效,例如:

http://api.face.com/faces/detect.json?api_key=4b4b4c6d54c37&api_secret= &urls= http://farm3.static.flickr.com/2566/3896283279_0209be7a67.jpg

现在,我想从我的应用程序上传原始图像数据......但这在网站上没有很好的记录:

http://developers.face.com/docs/api/faces-detect/

那里说:

代码:可选[无名称]照片的原始图像数据(当而不是url,上传图像时)

这就是问题:

如何将原始数据与 apikey 和 secret 一起作为 POST 传递?我知道它必须是 POST,但是如何?

4

1 回答 1

2

原始数据 = NSData,所以您需要做的就是将 imageData 附加到 URL,如下所示。

NSString *url = [NSString stringWithFormat:@"http://api.face.com/faces/detect.json?api_key=myapi&api_secret=mysecret&code=%@", imageData];
于 2012-04-17T12:50:45.350 回答