使用FHSTwitterEngine发布图片时发生错误
在我的应用程序中,我整合了FHSTwitterEngine在Twitter上发布图片。 直到上周它工作正常。 但突然间,当试图张贴图像时,显示204错误
Domain = FHSErrorDomain Code = 204“该请求没有返回任何内容。”
我不认为这是一个重复的post的问题,因为图像会根据用户的select而改变,而试图第一次发布图像本身就是给出错误。
基于文本的推文正常工作。 问题是只有图像发布
我正在使用的代码
dispatch_async(GCDBackgroundThread, ^{ @autoreleasepool { NSError *returnCode = [[FHSTwitterEngine sharedEngine]postTweet:self.textToTweet withImageData:UIImagePNGRepresentation(tweetImg)]; NSString *title = nil; NSString *message = nil; if (returnCode) { NSLog("Error-->%d",returnCode.code); } else { title = @"Tweet Posted"; message = @"Successfully"; } } });
提前致谢
这是一个格式错误的多部分表单数据问题。
看看FHSTwitterEngine.m。
寻找这些线
- (NSError *)sendPOSTRequestForURL:(NSURL *)url andParams:(NSDictionary *)params ... [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n",key] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:data];
在它下面添加这些行
if ([obj isKindOfClass:[NSData class]]) { [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; }
我也注意到它缺less状态参数错误。
寻找
- (NSError *)postTweet:(NSString *)tweetString withImageData:(NSData *)theData inReplyTo:(NSString *)irt { ... NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"media[]"] = theData;
并添加这个
params[@"status"] = tweetString;
或者你可以在这里得到修复: https : //github.com/alvani/FHSTwitterEngine/blob/master/FHSTwitterEngine/FHSTwitterEngine.m
谢谢。
我无法在Twitter上发布图片,但是现在使用这个代码,我可以将图片数据发布到twitter。
https://github.com/alvani/FHSTwitterEngine
简单地用你的FHSTwitterEnginereplace这个库。
它只是在库中添加了一些更改或错误
使用此代码压缩现有的图像…
NSData *data = UIImageJPEGRepresentation(imageView.image, 0.6);
您需要将string长度在130个字符以下