2

我正在尝试使用 OAuth 在 Tumblr 上发布图像。我正在使用Objective C,但通用解决方案也会非常有帮助。

我设法发布了一张在线图片(使用“来源”参数)。但是,我无法从客户端发布图像(使用“数据”参数),有些问题让我感到困惑。

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

2)我应该在我的帖子正文中放什么,我应该在我的底线中放什么?根据 oAuth 规范,如果我使用“multipart/form-data”,那么我不需要将添加到帖子正文的参数(如“type”和“caption”)添加到基本字符串,但即使当我成功使用“source”发布时,它只有在我将参数添加到基本字符串时才有效。

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

谢谢!

4

1 回答 1

0

Tumblr 的问题是 OAuth 的“不寻常”实现(OAuth 问题)。“旧” OAuth(来自 code.google.com/p/oauth/)不太可能实现。我自己最终使用了以下解决方案之一:将OAuth 与 ASIFormDataRequest 杂交,但它不太可能与多个图像一起使用,或者集成TumblrUploadr。此外,Tumblr 可能会更好地与新的 OAuth 库(来自此处)一起使用,但如果您使用它,它肯定会与 ShareKit 冲突。

关于您的问题:

  1. TumblrUploadr 使用application/x-www-form-urlencoded所以它很可能是这个。
  2. 使用上述任何解决方案,您应该只传递图像的 UIImageJPEGRepresentation 。TumblrUploadr 有它自己的 URL 编码和 ASIFormDataRequest,我不确定。
  3. URL 编码的二进制数据,如 Tumblr API 中所述。我自己并没有深入研究 ASIFormDataRequest,所以我不确定是否需要将它添加到基本字符串中。
于 2012-10-30T06:51:31.570 回答