使用RESTful api上传OAuth 1.0二进制数据

时间:2012-06-17 02:35:00

标签: api rest oauth binary image

我有一个DESKTOP应用程序,它通过RESTful api和OAuth 1.0与Web服务进行交互。我可以使用所有资源精细,身份验证,get / post调用来检索和发送简单的文本数据等,没有问题。

然而,我正在努力发送二进制数据。该服务允许发送图片。对于一个部分,他们有一个非OAuth api,通过它你也可以用普通二进制文件发送文件,只需在URL中传递一些参数并将整个二进制文件放在帖子中。

现在通过OAuth API执行此操作,成为一个问题:

该服务指定帖子需要2个参数(不包含在URL中,因为这是REST,但在POST参数中):

image   A binary file, base64 data, or a URL
type    The type of file that's being sent in. Accepted values: file, base64, url

所以我们有2个参数:image包含文件本身,type是“file”来指定二进制文件。但我怎么能通过OAuth包含这个呢?鉴于必须使用-image-和-type-参数(及其值)来生成签名的基本字符串,该字符串与POST中包含的参数匹配。我不能将整个二进制文件包括在内image参数的值;那么在这种情况下如何完成?

1 个答案:

答案 0 :(得分:1)

nvm,他们的OAuth api期望文件为multipart / form-data,其中包含变量,而签名的基本字符串中没有(他们的非OAuth api不需要multipart,所以我希望他们的OAuth不会要么;他们的文件在这方面有点缺乏。)