2012-07-29 74 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,所以我不確定你是否需要將它添加到基本字符串。