Ich habe versucht, die API von Wunderlist, die als Task-Management-Anwendung bekannt ist, in Python zu berühren. Die API Dokument ist ebenfalls gut geschrieben, daher denke ich, dass es eine einfach zu verwendende API ist. OAuth2 wird zur Authentifizierung verwendet.
Die Mindestanforderung ist ein eigenes Wunderlist-Konto. Melden Sie sich zunächst mit Ihrem Konto auf der folgenden Seite an. https://developer.wunderlist.com/
Klicken Sie dann auf IHRE APP REGISTRIEREN
Der Registrierungsbildschirm wird angezeigt. Geben Sie die erforderlichen Informationen ein und klicken Sie auf SPEICHERN. Sie können es später ändern, müssen jedoch den NAMEN, die APP-URL und die AUTH CALLBACK-URL eingeben.
Dann können Sie CLIENT ID und CLIENT SECRET erhalten.
Dieses Mal erhalten Sie der Einfachheit halber den ACCESS TOKEN für Ihr Konto. Klicken Sie auf CREATE ACCESS TOKEN.
Sie benötigen zwei Dinge, CLIENT ID und ACCESS TOKEN, um Ihre Kontoinformationen zu erhalten. Nachdem wir die erforderlichen Informationen haben, erhalten wir sofort die Benutzerinformationen.
Ich habe eine Bibliothek namens Requests-Oauthlib für die oauth2-Authentifizierung verwendet. Details zur Authentifizierung finden Sie hier [https://developer.wunderlist.com/documentation/concepts/authorization]. Es ist in Ordnung, wenn Sie den angeforderten Header-Informationen X-Client-ID und X-Access-Token hinzufügen.
from requests_oauthlib import OAuth2Session
import json
client_id = "YOUR CLIENT ID"
access_token = "YOUR ACCESS TOKEN"
url = "https://a.wunderlist.com/api/v1/user"
params = {}
wunderlist = OAuth2Session()
wunderlist.headers['X-Client-ID'] = client_id
wunderlist.headers['X-Access-Token'] = access_token
req = wunderlist.get(url, params=params)
if req.status_code == 200:
user = json.loads(req.text)
print user['name']
else:
print ("Error: %d" % req.status_code)
Haben Sie Ihren Benutzernamen sicher gesehen?
https://developer.wunderlist.com/documentation/endpoints/list
URL ändern
url = "https://a.wunderlist.com/api/v1/lists"
Die ID in der Liste wird verwendet, um die Aufgabe zu CRUDEN.
req = wunderlist.get(url, params=params)
if req.status_code == 200:
lists = json.loads(req.text)
for list in lists:
print list["id"], list["title"].encode('utf-8')
else:
print ("Error: %d" % req.status_code)
Ändern Sie URL und Parameter. Übrigens scheint Toilettenpapier am häufigsten auf der Einkaufsliste zu stehen. (Es besteht kein Zweifel, dass es sich um Informationen der Person in der Zentrale handelt.)
url = "https://a.wunderlist.com/api/v1/tasks"
params = {
"list_id": "Einkaufslisten-ID", #integer
"title": "Toilettenpapier", #string
}
Diesmal ist es POST statt GET. Der status_code ändert sich ebenfalls.
req = wunderlist.post(url, json=params)
if req.status_code == 201:
print "New task was successfully created."
else:
print ("Error: %d" % req.status_code)
Es ist in Ordnung, wenn Sie sich Ihre Wunderliste ansehen und Toilettenpapier zu Ihrer Einkaufsliste hinzufügen.
Dies ist ein Task-Update. Angenommen, Sie haben das gerade hinzugefügte Toilettenpapier gekauft.
Ändern Sie URL und Parameter.
url = "https://a.wunderlist.com/api/v1/tasks/"
params = {
"revision": 1, #Grundsätzlich ist 1 okay
"completed": True,
}
task_id = "Toilettenpapier ID"
url += task_id
Wir verwenden eine Funktion namens PATCH.
req = wunderlist.patch(url, json=params)
if req.status_code == 200:
print "Task was successfully completed."
else:
print ("Error: %d" % req.status_code)
Überprüfen Sie die Wunderliste, um sicherzustellen, dass die Toilettenpapieraufgabe abgeschlossen ist.
Die ID einer Aufgabe oder Liste kann auf einen Blick anhand der URL der Webversion von Wunderlist angezeigt werden.
Recommended Posts