我自己已经走了很长一段路,但是我无法通过我的 API 请求的响应。
This request requires HTTP authentication (message=Exception authenticating OAuth; errorCode=003200; statusCode=401).
我可以毫无问题地从 getInstitutionDetails 获取机构登录信息。所以我认为签署 oauth saml 不是问题。
这是我通过 CURLOPT_POSTFIELDS 发送的请求正文
<InstitutionLogin xmlns="http://schema.intuit.com/platform/fdatafeed/institutionlogin/v1">
<credentials>
<credential>
<name>Banking Password</name>
<value>anyvalue</value>
</credential>
<credential>
<name>Banking Userid</name>
<value>direct</value>
</credential>
</credentials>
</InstitutionLogin>
这是我的请求标头(来自 curl_getinfo 的 wordwrapped)。
[request_header] => POST /v1/institutions/100000/logins?
Host=financialdatafeed.platform.intuit.com&
oauth_consumer_key=qyprdQUbzhOiNg0S35hfY3xzlgP7Zl&
oauth_nonce=ZBa3v&
oauth_signature=%2FsLxYpLoO9CtmboCFPSi35t6Yj8%3D&
oauth_signature_method=HMAC-SHA1&
oauth_timestamp=1377217387&
oauth_token=qyprdLxfhfigkfOHMz4yyYwzgf2JyGF3Sk8TOlq8nO0akC23&
oauth_version=1.0 HTTP/1.1
Host: financialdatafeed.platform.intuit.com
Accept: */*
Content-Type: application/xml
Content-length: 308
Accept-Encoding: gzip,deflate
Authorization: OAuth oauth_version="1.0",
oauth_nonce="ZBa3v",
oauth_signature_method="HMAC-SHA1",
oauth_consumer_key="qyprdQUbzhOiNg0S35hfY3xzlgP7Zl",
oauth_token="qyprdLxfhfigkfOHMz4yyYwzgf2JyGF3Sk8TOlq8nO0akC23",
oauth_timestamp="1377217387",
oauth_signature="/sLxYpLoO9CtmboCFPSi35t6Yj8="
User-Agent: Jakarta Commons-HttpClient/3.1