ここで提供されている公式 API を介して Lending Club からローンのリストを取得しようとしています: https://www.lendingclub.com/developers/listed-loans.action
私はPythonの「リクエスト」モジュールを使用して呼び出しを行っています.以下は私が試したコードです:
import requests
header = {'Authorization' : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'Content-Type': 'application/json', 'Accept': 'application/json', "X-LC-LISTING-VERSION":"1.1"}
resp = requests.get("https://api.lendingclub.com/api/investor/v1/loans/listing", headers= header, params = {'showAll':'true'})
応答を取得する:
resp.status_code
401
stackoverflow の質問: Lending Club API with Rで述べたように、ここで R httr パッケージを使用してソリューションを試しましたが、同じ 401 Unauthorized 応答が返されました。
また、私が何か間違ったことをしていないかどうかを確認するために簡単な cURL を実行しました。
curl -v -i --header "Authorization:xxxxxxxxxxxxxxxxxxxxxxxxxxxx" --header "Accept:application/json" --header "Content-Type:application/json" --header "X-LC-LISTING-VERSION:1.1" -d "{"query": {"showAll": "true"}}" -XGET https://api.lendingclub.com/api/investor/v1/loans/listing
以下は私が得るダンプです:
* Trying 64.48.1.18...
* Connected to api.lendingclub.com (64.48.1.18) port 443 (#0)
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 1/3)
* schannel: checking server certificate revocation
* schannel: sending initial handshake data: sending 200 bytes...
* schannel: sent initial handshake data: sent 200 bytes
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 2/3)
* schannel: failed to receive handshake, need more data
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 2/3)
* schannel: encrypted data buffer: offset 4096 length 4096
* schannel: encrypted data length: 4006
* schannel: encrypted data buffer: offset 4006 length 4096
* schannel: received incomplete message, need more data
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 2/3)
* schannel: encrypted data buffer: offset 5030 length 5030
* schannel: encrypted data length: 247
* schannel: encrypted data buffer: offset 247 length 5030
* schannel: received incomplete message, need more data
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 2/3)
* schannel: encrypted data buffer: offset 541 length 5030
* schannel: sending next handshake data: sending 190 bytes...
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 2/3)
* schannel: encrypted data buffer: offset 6 length 5030
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 2/3)
* schannel: encrypted data buffer: offset 45 length 5030
* schannel: SSL/TLS handshake complete
* schannel: SSL/TLS connection with api.lendingclub.com port 443 (step 3/3)
* schannel: incremented credential handle refcount = 1
* schannel: stored credential handle in session cache
> GET /api/investor/v1/loans/listing HTTP/1.1
> Host: api.lendingclub.com
> User-Agent: curl/7.45.0
> Authorization:xxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Accept:application/json
> Content-Type:application/json
> X-LC-LISTING-VERSION:1.1
> Content-Length: 24
>
* upload completely sent off: 24 out of 24 bytes
* schannel: client wants to read 16384 bytes
* schannel: encdata_buffer resized 17408
* schannel: encrypted data buffer: offset 0 length 17408
* schannel: encrypted data got 141
* schannel: encrypted data buffer: offset 141 length 17408
* schannel: decrypted data length: 112
* schannel: decrypted data added: 112
* schannel: decrypted data cached: offset 112 length 16384
* schannel: encrypted data buffer: offset 0 length 17408
* schannel: decrypted data buffer: offset 112 length 16384
* schannel: schannel_recv cleanup
* schannel: decrypted data returned 112
* schannel: decrypted data buffer: offset 0 length 16384
< HTTP/1.1 401 Unauthorized
HTTP/1.1 401 Unauthorized
< Server: Apache-Coyote/1.1
Server: Apache-Coyote/1.1
< Content-Length: 0
Content-Length: 0
< Date: Thu, 17 Nov 2016 06:38:15 GMT
Date: Thu, 17 Nov 2016 06:38:15 GMT
<
* Connection #0 to host api.lendingclub.com left intact
API 呼び出しで見逃しているものがあるか、Lending Club API で適切に文書化されていないものがあるようです。
これを解決する方法についての指針を得ることができれば素晴らしいと思います。
ありがとう!
編集:
何が起こったのかわかりませんが、Lending Club アカウントにログインしました --> 認証キーを更新し、API 呼び出しを行ったところ、機能するようになりました。ただし、これを解決するための非常に奇妙な方法です。