2012-07-29 70 views
2

我在使用OAuth在Tumblr上发布图片。我使用Objective C,但一个通用的解决方案也会非常有用。使用OAuth在Tumblr上发布图片

我管理发布在线图像(使用“源”参数)。但是,我无法从客户端发布图像(使用“数据”参数),有些问题让我困惑。

1)我应该使用“multipart/form-data”还是“application/x-www-form-urlencoded”?我在这个问题上看到了相互矛盾的说法。

2)我应该在我的帖子后面放什么东西,我应该在我的基础字符串中放什么?根据oAuth规范,如果我使用“multipart/form-data”,那么我不需要将添加到帖子主体的参数(如“type”和“caption”)添加到基本字符串,但是甚至当我用“源代码”成功发布时,如果我将参数添加到基本字符串,它也会起作用。

3)以什么格式将图像添加到身体?如果我还需要将它添加到基本字符串,那么我应该以什么格式将它添加到那里?

谢谢!

回答

0

Tumblr的问题是OAuth的“异常”实现(OAuth issues)。 “旧”OAuth(来自code.google.com/p/oauth/)不太可能。我自己最终使用了这些解决方案之一:crossbreeding OAuth with ASIFormDataRequest,但它不太可能适用于多个图像,或者整合TumblrUploadr。此外,Tumblr可能会更好地使用新的OAuth库(来自here) ,但如果您使用它,它肯定会与ShareKit冲突。

关于你的问题:

  1. TumblrUploadr使用应用程序/ x-WWW窗体-urlencoded所以 很可能是这一个。
  2. 有了上述任何解决方案,您应该只需通过UIImageJPEGRepresentation您的图像 。 TumblrUploadr有 它是自己的URL编码和ASIFormDataRequest,我不确定。
  3. URL编码的二进制数据,就像在Tumblr API中所说的那样。我自己 没有深入调查ASIFormDataRequest,所以我不确定你是否需要将它添加到基本字符串。