
Dort geben Sie einfach Ihren Benutzernamen und Ihr Passwort ein und erlauben den Zugang zu Ihrem Trello.
Möchten Sie mit Python-Skripten schnell und ohne die Notwendigkeit, die Trello-API zu erlernen, auf die Trello-API zugreifen? Lesen Sie dieses Tutorial und erfahren Sie, wie einfach es mit Connect Bridge ist.
Trello API Python - Einführung
Niemand möchte jedes Mal, wenn er darauf zugreifen muss, lange und komplizierte Dokumentationen für APIs lernen. Dieser Artikel beschreibt, wie Sie über Python-Skripte (getestet in Version 3.3) auf die Trello-API zugreifen können, ohne über Fachkenntnisse in der API von Trello zu verfügen. Für dieses Tutorial benötigen Sie die Integrationsplattform Connect Bridge, um die Datenkommunikation über die Trello-API mit meist einfachen SQL-Anweisungen zu ermöglichen. Die Datenübertragungen erfolgen über die ODBC-Schicht. Ich habe dies in Python mit dem Modul pyodbc Version 3.0.7 x64 erreicht.Was ist “Connect Bridge”?
Connect Bridge ist eine Integrationsplattform, die es ermöglicht, jede Software über ODBC, JDBC-Treiber und Webdienste mit mehr als 31 Konnektoren (einschließlich Trello) zu verbinden. Entwickler können auf diese Konnektoren in jeder beliebigen Programmiersprache zugreifen, ohne über Kenntnisse des Zielsystems verfügen zu müssen, im Wesentlichen innerhalb weniger Minuten. Die Sache ist die, dass man mit dem Tool nicht nur über Python auf die Trello-API zugreifen kann, sondern auch Daten von/nach MS Exchange, MS Dynamics CRM, MS SharePoint und vielen anderen Systemen abrufen/eingeben kann.Voraussetzungen
Lassen Sie uns nun den Entwicklungsprozess eines einfachen Python-Skripts durchgehen, das über einen ODBC-Treiber über die Connect Bridge auf die Trello-API zugreift:
- Installieren Sie Connect Bridge (Sie können kostenloser Test hier)
- installieren Python für Windows ver. 3.3+
- installieren pyodbc-Modul 3.0.7+ (Ich habe die pyodbc-3.0.7.win-amd64-py3.3.exe)
- Um das Schreiben & Ausführen & Debuggen meiner Skripte zu erleichtern, habe ich Finsternis Luna mit pydev Plugin
- Einrichtungskonto für Trello in Connect Bridge (siehe Absatz unten)
Einrichtung der Verbindungsbrücke
Nach der Installation von Connect Bridge können Sie drei Anwendungen sehen:
- CB-Servicecontroller – dient zum Starten und Stoppen von Connect Bridge
- CB-Verwaltungstool – hier können Sie Ihre Konten für die Verbindung zum Zielsystem einrichten.
- CB Query Analyzer – dieses Tool dient zur Visualisierung des Schemas der Zielsystemdatenbank, und Sie können hier Ihre Abfragen ganz einfach ausprobieren.
Erstellen Sie nun Ihr Konto für Trello. Öffnen Sie das Verwaltungstool und erstellen Sie im Abschnitt „Konten“ ein neues Konto. Wählen Sie in der Combobox „Connectors“ die Option „CBTrelloConnector“ aus und klicken Sie auf „Authentifizierungsassistent“.

Dann speichern Sie es einfach und wir haben unser Konto.
Jetzt können wir das CB Query Analyzer-Tool zur Visualisierung von Schemata verwenden. Wir müssen eine neue Verbindung hinzufügen, wie in der Abbildung unten beschrieben.


Für die Verbindung von einem Python-Skript aus benötigen wir eine Verbindungszeichenfolge zu diesem Konto.
Um unsere Verbindungszeichenfolge zu erfahren, klicken wir einfach mit der rechten Maustaste auf die Trello-Verbindung und dann auf “Verbindung bearbeiten”. Im Verbindungseditor wählen wir die Registerkarte “Erweitert” und kopieren den Wert aus dem Textfeld “Verbindungszeichenfolge”. (Siehe Bilder unten)


Hände aufs Skript!
Der Kern und gleichzeitig die einzige Datei in meiner Lösung ist CBQuery.py. Den Quellcode finden Sie unten.
#!/usr/local/bin/python2.7
#-Kodierung: utf-8
'''
CBQuery2 -- Daten abfragen von, Daten schreiben in SharePoint, Dynamics CRM, Exchange
CBQuery2 ist ein Skript, mit dem SQL-Abfragen über den ODBC-Treiber Connect Bridge ausgeführt werden können.
@Autor: Michal Hainc
@Copyright: 2014
@Lizenz: Apache 2.0
@Kontakt: michalhainc@gmail.com
@deffield aktualisiert: 18.8.2014
'''
Importsysteme
Import-OS
Einfuhr pyodbc
aus argparse importieren ArgumentParser
aus argparse import RawDescriptionHelpFormatter
__alle__ = []
__Version__ = 0,1
__Datum__ = '2014-08-15'.
__aktualisiert__ = '2014-08-15'.
DEBUG = 1
TESTRUN = 0
STECKBRIEF = 0
Klasse CLIError(Ausnahme):
'''Generische Ausnahme, um verschiedene fatale Fehler auszulösen und zu protokollieren.'''
def __init__(selbst, msg):
super(CLIError).__init__(Typ(selbst))
self.msg = "E: %s" % msg
def __str__(selbst):
selbst.msg zurückgeben
def __unicode__(self):
selbst.msg zurückgeben
def main(argv=Keine): # IGNORE:C0111
'''Kommandozeilenoptionen'''
wenn argv keine ist:
argv = sys.argv
sonst:
sys.argv.erweitern(argv)
programm_name = os.pfad.basename(sys.argv[0])
programm_version = "v%s" % __version__
program_build_date = str(__aktualisiert__)
program_version_message = '%%(prog)s %s (%s)' % (program_version, program_build_date)
program_shortdesc = __import__('__main__').__doc__.split("n")[1]
Programm_Lizenz = '''%s
Erstellt von Michal Hainc auf %s.
Lizenziert unter der Apache-Lizenz 2.0
http://www.apache.org/licenses/LICENSE-2.0
Verteilt auf einer "AS IS"-Basis ohne Gewährleistungen
oder Bedingungen jeglicher Art, weder ausdrücklich noch stillschweigend.
VERWENDUNG
''' % (program_shortdesc, str(__date__))
versuchen:
# Einrichtungs-Argument-Parser
Parser = ArgumentParser(description=program_license, formatatter_class=RawDescriptionHelpFormatter)
parser.add_argument('connstr')
parser.add_argument('abfrage')
# Prozess-Argumente
args = parser.parse_args()
Abfrage = args.abfrage
connstr = args.connstr
conn = pyodbc.connect(connstr)
Cursor = Verbindungscursor()
cursor.execute(Abfrage)
während 1:
Zeile = Keine
versuchen:
Zeile = cursor.fetchone()
außer:
drucken(sys.exc_info()[1])
Pause
wenn nicht Reihe:
unterbrechen
drucken(Zeile)
außer KeyboardInterrupt:
### behandeln Tastatur-Unterbrechung ###
Rückgabe 0
außer:
drucken(sys.exc_info()[1])
1TP3Einrückung = len(Programm-Name) * " "
#sys.stderr.write(programm_name + ": " + repr(e) + "n")
#sys.stderr.write(Einrückung + " für Hilfe verwenden --help")
Rückkehr 2
wenn __name__ == "__hauptsächlich__":
wenn TESTRUN:
Doktest importieren
doctest.testmod()
wenn PROFIL:
cProfil importieren
pstats importieren
Profil_Dateiname = 'CBQuery2_profile.txt'.
cProfil.run('main()', Profil_Dateiname)
statsfile = offen ("profile_stats.txt", "wb")
p = pstats.Stats(profile_filename, stream=statsfile)
stats = p.strip_dirs().sort_stats('kumulativ')
stats.print_stats()
statsfile.close()
sys.exit(0)
sys.exit(main())
- connstr (Verbindungszeichenfolge) enthält die ODBC-Verbindungszeichenfolge, die wir an das pyodbc-Modul übergeben, um eine ODBC-Verbindung zu erstellen, die in der conn-Variablen
- Als nächsten Schritt öffnen wir einen Datenbank-Cursor unter Verwendung der Verbindung, die in conn
- dann führen wir die SQL-Abfrage aus, die über den Befehlszeilenparameter namens query
- als letztes verwenden wir eine while-Schleife, um die Ergebnisse des Cursors Zeile für Zeile auszulesen, wenn cursor.fetchone None zurückgibt, brechen wir die Schleife ab
- Wenn während des ODBC-Abrufs eine Ausnahme auftritt, brechen wir auch die Schleife ab und drucken das Problem zur Ausgabe
- Wenn die Methode „fetchone“ erfolgreich ist und eine Datenzeile zurückgibt, geben wir die Rohdatenzeile zu Demonstrationszwecken aus (… dies kann jede Art von Ausgabe sein … wir könnten sie als XML, JSON, CSV … oder jedes andere Datenaustauschformat formatieren) oder verwenden das Rohdatenzeilenobjekt einfach in der weiteren Codelogik, um benutzerdefinierte Aufgaben auszuführen.
Ausführen des Skripts CBQuery.py
Ich habe mein Skript mit Windows PowerShell getestet, aber Sie können jede andere Shell verwenden, die Sie bevorzugen...
Wir wissen, dass unsere CBQuery.py zwei positionale Befehlszeilenargumente akzeptiert: “connstr” und “query”.
Wir sehen, dass das Schema eine “Tabelle” namens “list” enthält, sodass wir unsere Abfrage wie folgt erstellen können: SELECT * FROM list LIMIT 10, um die ersten 10 Einträge aus der Trello-Liste auszuwählen. Wenn wir die Abfrage ausführen, sehen wir auf unserem Bild unten, dass die Abfrage 10 Zeilen in der Ausgabe zurückgegeben hat.


Jetzt können wir versuchen, eine neue Trello-Karte in der ersten ‘leeren’ Liste zu erstellen. Dazu verwenden wir folgende Abfrage:
INSERT INTO Card (name, idlist) VALUES (‘Neue Karte’, ‘565c0d32c75039b07e86b0b3’)

Sie können in Trello sehen, dass die neue Karte erfolgreich erstellt wurde.

Einschränkungen
Bislang konnte ich das Tool Connect Bridge nur von Windows-Betriebssystemen aus verwenden, da Connecting Software keine ODBC-Linux-Client-Bibliothek zur Verfügung stellte (falls das überhaupt möglich ist). Stellen Sie also sicher, dass Sie mit Ihren Python-Skripten auf einer Windows-Maschine spielen.
Schlussfolgerung
Wir haben gezeigt, dass der Zugriff auf die Trello-API in Python mit dem Integrationswerkzeug Connect Bridge ganz einfach sein kann. Und Trello ist nur eines von vielen Systemen, die sich mit Connect Bridge integrieren lassen. Stellen Sie sich vor, Sie könnten sicher auf APIs wichtiger Software und Dienste wie Dynamics CRM, NAV, AX, Salesforce, Exchange und vielen anderen zugreifen. Wenn Sie keine Zeit mehr damit verschwenden möchten, jedes Mal, wenn Sie auf ein neues Zielsystem stoßen, Hunderte von API-Dokumentationsseiten durchzuarbeiten, kostenlose Testversion, Preise und weitere Fragen anfordern.
Prost,
Ondrej

Comments 1
Erstaunlich gute Arbeit. Diese beiden Punkte sind gut abgedeckt: "Aufbau der Verbindungsbrücke" und "Einschränkungen". Vielen Dank für die Weitergabe des Themas "Zugriff auf die Trello-API mit Python-Skripten mit Connect Bridge". Der beste Teil ist, dass der Artikel alle praktischen Details enthält! Teilen Sie weiter.