2

我正在尝试将图像发布到 reddit;但是,我只知道我在做什么。我正在为我的 iphone 应用程序使用目标 c。

在下面列出的代码之前,我通过在上传之前登录并使用 NSLog 来确定我确实收到了它们,从而获得了 modhash 和 cookie。然后我使用 JSON Parser 将它们分成单独的变量。

我不确定所有 POST 参数值应该是什么,所以我猜到了。必要的参数是 uh、file、formid、header、ing_type、name 和赞助商。

reddit api 的文档是http://www.reddit.com/dev/api 我相信我想使用 POST /api/upload_sr_img 方法...

NSURL *url = [NSURL URLWithString:@"http://www.reddit.com/api/upload_sr_img"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];

NSString *httpBody = [NSString stringWithFormat:@"?uh=%@&file=%@&formid=''header=%@&img_type=%@&name=%@&sponsor=%@",modhash,UIImagePNGRepresentation(self.memeImage.image),@"test",@"png",@"Drew",@"Drew'sApp"];

[request setHTTPBody:[httpBody dataUsingEncoding:NSASCIIStringEncoding]];

NSURLResponse *response = NULL;
NSError *imgError = NULL;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&imgError];

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:result options:NSJSONReadingMutableContainers error:nil];
NSDictionary *responseJson = [json valueForKey:@"json"];


NSLog(@"response is: %@",response);
NSLog(@"imgError is: %@",imgError);
NSLog(@"result is: %@",result);
NSLog(@"json is: %@",json);
NSLog(@"responseJson is: %@",responseJson);

可以使用我能得到的任何帮助。

另外,我不确定是否需要发送内容类型,甚至是什么类型。

谢谢你的帮助。

4

1 回答 1

1

检查这个库:https ://github.com/MattFoley/MFRedditPostController

  • 您可以使用提供的 UI 或创建自己的 UI。
于 2013-04-23T05:29:19.190 回答