저는 ClearBooks 용 API와 상호 작용하는 프로그램을 작성해야합니다. 그들은 약간 documentation을 가지고 있습니다. 그러나 저는 여전히 시작하기 위해 정말로 고심 중입니다.API와의 상호 작용을 위해 애 쓰고 있습니다.
- 포스트에 'XML 요청' "https://secure.clearbooks.co.uk/api/soap/는"
- 은 '요청 HTTP 헤더를 설정하려면 : 나는 겉으로는 신화를 수신하기 위해 "응답 (200)"에서, 문서에서 수집 할 수있는 건, 내가 필요 '에 "콘텐츠 유형 : 텍스트/XML"
- 이 포함'(I 로컬 있습니다) 내 API 키 SOAP 헤더를 '
내 현재 코드는 다음과 같다 :
import requests
url = "https://secure.clearbooks.co.uk/api/soap/"
headers = {"Content-Type": "text/xml", "apiKey": "(api key goes here)"}
response = requests.get(url=url, headers=headers)
print(response)
print(response.text)
>>> <Response [500]>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>Sender</faultcode><faultstring>Invalid XML</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
,536,
나는 내 코드가 아마도 어리석은 것처럼 보인다고 알고있다. 그러나 인터넷과 상호 작용하는 프로그램을 작성하려고 시도한 것은 이번이 처음이다. 해킹하려고 며칠을 보냈음에도 불구하고, 나는 정말 어려움을 겪었습니다. 일반 웹 페이지에서 텍스트를 가져 왔지만 Codecademy 또는 이와 유사한 API가없는 API와 상호 작용할 수 없었습니다. 누군가 제 코드를 업데이트 할 수 있습니까 (아니면 처음부터 새로 추가 할 수 있습니까?) 나 자신의 Clearbooks API 키없이 테스트 할 수있는 것이 아니라는 것을 깨달았습니다.하지만 도움이 될 것입니다.
내가 충분히 감사 할 수는 API가 머리를 켜고 말 한
Content-Type: text/xml
HTTP 헤더를 보낸! : D 나는 XML을 어떻게 조합할지는 모르지만 운 좋게 [이 예제] (http://msgboard.alphasoftware.com/alphaforum/archive/index.php?t-100518.html)를 발견했다. 누군가가 관심을 가지기 때문에 내 코드를 대답으로 게시 할 것입니다. –축하합니다! 이 API와의 많은 상호 작용이 필요한 경우 [suds] (https://fedorahosted.org/suds/) ... [API wsdl의 URI] (https : //secure.clearbooks.co.uk/api/wsdl/https://secure.clearbooks.co.uk/api/wsdl /) 그리고 당신은'client.service.CreatePayment (...) '와 같이 사용할 수있는 python 클라이언트를 만듭니다 ... 유효한 SOAP 메시지를 공식화하기 위해 많은 지저분하고 부서지기 쉬운 문자열 템플릿을 저장합니다 – Anentropic