2017-05-14 1 views
0

Wie der Titel schon sagt, brauche ich Hilfe beim Einrichten eines Skripts, das Daten aus einer API extrahiert, mit Python 2.7. Die betreffende API für eine Plattform mit dem Namen YourMembership, Dokumentation hier (https://api.yourmembership.com/reference/API_Getting_Started.pdf#view=Fit).Wie kann man Skripts richtig einrichten, um mit XML-API-Endpunkten zu arbeiten und Daten empfangen und senden zu können?

Mein hangup ist, dass ich immer vorher existierenden Skripte verwendet haben, mit API zu kommunizieren und nicht wissen, wie das Skript zu installieren, die den Aufruf von Grund auf neu machen. Zweiter Hangup ist, dass ich XML nie verwendet habe, um mit einer API zu kommunizieren, also nicht sicher, wie man die Nachricht sendet, um Daten zu erhalten.

In meiner Forschung weiß ich, dass ich die ‚Anfragen‘ Bibliothek mit Python verwenden, und dies ist die wenige Zeilen, die ich eingerichtet habe bisher mit status_code = 200.

import requests 

url = 'https://api.yourmembership.com' 

api_key_public = 'xxx-xxxx-xxxx' 
api_key_private = 'xxx-xxx-xxxx' 

r = requests.get(url, api_key_private) 
print(r.status_code) 

Was ich tue, falsch? weil ich weiß, dass meine API-Schlüssel nicht eingegeben werden, und wie gebe ich einen Befehl in XML über mein Skript ein?

Vielen Dank im Voraus.

Edit:

Zur Zeit arbeite ich mit diesem Skript der Fehler bekommen, dass mein XML falsch gebildet ist, aber in einem XML-Validator alle Kontrollen. Was könnte ich falsch machen?

import requests 

xml = """ 
<?xml version='1.0' encoding='utf-8'?> 
<YourMembership> 
    <Version>1.62</Version> 
    <ApiKey>xxx-xxx-xxx</ApiKey> 
    <CallID>001</CallID> 
    <SaPasscode>xxxxx</SaPasscode> 
    <Call Method =Sa.Events.All.GetIDs" > 
    </Call> 
</YourMembership> 


""" 

print(requests.post('https://api.yourmembership.com', data=xml).text) 

bearbeiten Muss ich Header-Dateien benötigt?

+0

Haben Sie die Werte für die Felder 'Version' und' CallId' absichtlich weggelassen? – etemple1

+0

Hi @ etemple1 Ich habe sie nicht absichtlich vergessen, ich habe einfach vergessen, Werte einzugeben. Will es in bearbeiten. – user2573081

+0

Sorry, meine Frage war nicht klar. Haben Sie die Werte bei der Anfrage weggelassen? Wie lauten die Dokumente zu dieser Kopfzeile, die Header enthalten? – etemple1

Antwort

0

Wie @ etemple1 vorgeschlagen, müssen in Header hinzuzufügen.

Verwandte Themen