如何将计量用法发送到AppDirect

时间:2015-02-02 12:55:21

标签: c# httprequest appdirect

我正在编写一个与AppDirect集成的程序。链接是: http://info.appdirect.com/developers/docs/api_integration/subscription_management

我成功处理订阅订单,更改和取消活动。现在,我想将计量用法发送到appdirect,我按照此页面上的说明进行操作 http://info.appdirect.com/developers/docs/api_integration/subscription_management/metered_usage_api

然而,它总是返回HTTP / 1.1 401 Unauthorized和一个长html页面。这是我对AppDirect的HTTP请求:

POST https://www.appdirect.com/api/integration/v1/billing/usage?oauth_consumer_key=mykey&oauth_nonce=775137&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1422880351&oauth_version=1.0&oauth_signature=q17RzR1KvuxHXvle0Uxrnn16IIA%3d HTTP/1.1
Content-Type: application/xml
Host: www.appdirect.com
Content-Length: 318
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-16"?>
<usage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <account>
    <accountIdentifier>123456</accountIdentifier>
  </account>
  <item>
    <unit>DOCUMENT</unit>
    <quantity>10</quantity>
  </item>
</usage>

我的程序使用MVC5,CookieAwareWebClient发送http请求 (代码:How do I log into a site with WebClient?

我的要求有什么问题吗?如果您需要更多信息,请与我们联系。任何帮助将受到高度赞赏。谢谢堆。

1 个答案:

答案 0 :(得分:3)

我弄清楚发生了什么。那是一个错误的OAuth签名计算。 OAuth计算中包含的HTTP方法是GET,但它假设是POST。

只要我将其更改为POST,就可以了。