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