1
我想寫一個上傳照片到flickr的函數,如http://www.flickr.com/services/api/upload.api.html。我寫了下面的代碼:HTTP Post與scala和調度?
val http = new Http with thread.Safety
val uploadEndPoint = :/("api.flickr.com")/"services"/"upload"
然後我使用調度簽署方法
def signUploadRequest(userParams: Map[String, String], accessToken: Token, verifier: String): Map[String, String] = {
var map = userParams
map += "api_key" -> consumerKey
sign("", uploadEndPoint.toString, userParams, consumer, Some(accessToken), Some(verifier), Some(OAuth.oob))
}
然後我調用下面的方法:
高清sendUploadRequest(reqParms:地圖[字符串,字符串]) = { HTTP(uploadEndPoint.POST <:< reqParms as_str) }
但我得到了以下錯誤:
<rsp stat="fail">
<err code="100" msg="Invalid API Key (Key has invalid format)" />
</rsp>
我對請求使用相同的過程,它工作正常。郵政有什麼問題?
感謝, Feras
我不在簽名中使用照片,並且當我將動詞更改爲<<時,出現以下錯誤:身份驗證錯誤:無法應對以下任何挑戰:{} 線程「main」派發異常。 StatusCode:意外的響應代碼:401 oauth_problem = signature_invalid&debug_sbs = POST – 2012-02-14 11:41:59
我應該爲帖子選擇不同的http執行者嗎? – 2012-02-14 11:42:56
看那裏:http://www.flickr.com/services/api/auth.spec.html。在9.1§,他們說如何使用認證。一些參數必須作爲查詢參數提供。所以對於那些,api_key等,使用必須使用'<<?' – 2012-02-14 12:28:11