我有一个桌面应用程序,它通过他们的RESTful应用程序接口和OAuth 1.0与web服务进行交互。我可以很好地使用所有的资源,身份验证,get/post调用来检索和发送简单的文本数据等,没有问题。
但是,我很难发送二进制数据。该服务允许发送图片。一方面,他们有一个非OAuth api,你也可以通过它发送一个普通的二进制文件,只需在URL中传递一些参数,并将整个二进制文件放在post中。
现在,要通过OAuth应用程序接口实现这一点,就成了一个问题:
该服务指定post需要两个参数(不包括在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
因此我们有两个参数: image包含文件本身,type将为" file“以指定二进制文件。但是,我该如何通过OAuth来包含这些内容呢?假设必须使用-image- and -type-参数(及其值)来生成签名的基本字符串,该字符串将与POST中包含的参数进行匹配。我不能在其中包含整个二进制文件作为image参数的值;那么在这种情况下是如何实现的呢?
发布于 2012-06-18 02:47:36
在nvm中,他们的OAuth api期望文件为multipart/form-data,变量在那里,而签名的基本字符串中没有(他们的非OAuth api不需要multipart,所以我希望他们的OAuth也不需要;他们的文档在这方面有点欠缺)。
https://stackoverflow.com/questions/11068524
复制