Daar vul je gewoon je gebruikersnaam en wachtwoord in en geef je toegang tot je Trello.
Keen om toegang te krijgen tot Trello API met Python scripts snel en zonder de noodzaak om Trello API te leren? Lees deze tutorial en leer hoe makkelijk het is met Connect Bridge.
Trello API Python - Inleiding
Niemand houdt ervan om lange en ingewikkelde documentatie voor API's te leren elke keer als er een behoefte is om toegang te krijgen. Dit artikel beschrijft hoe toegang te krijgen tot Trello API via Python (heb geprobeerd in versie 3.3) taal scripts zonder enige expertise in de API van Trello. Voor deze tutorial heb je het integratieplatform Connect Bridge nodig om de datacommunicatie via Trello API mogelijk te maken met behulp van meestal eenvoudige SQL statements. De gegevensoverdrachten gebeuren via de ODBC laag. Ik heb dit bereikt in Python met behulp van de pyodbc module ver. 3.0.7 x64Wat is "Connect Bridge"?
Connect Bridge is een integratieplatform dat toelaat om om het even welke software te verbinden via ODBC, JDBC drivers en Web Services met meer dan 31 connectoren (inclusief Trello). Ontwikkelaars hebben toegang tot deze connectoren in om het even welke programmeertaal, zonder de noodzaak om expertise te hebben in het doelsysteem, in principe binnen enkele minuten. Je kunt de tool niet alleen gebruiken om toegang te krijgen tot Trello API via Python, maar je kunt ook gegevens ophalen van/naar MS Exchange, MS Dynamics CRM, MS SharePoint en nog veel meer systemen.Vereisten
Laat ons nu het ontwikkelingsproces doorlopen van een eenvoudig Python script dat toegang krijgt tot Trello API met Connect Bridge via een ODBC driver in enkele eenvoudige stappen:
- Installeer Connect Bridge (u kunt hier gratis proberen)
- Installeer Python voor Windows ver. 3.3+
- Installeer pyodbc module 3.0.7+ (Ik heb de pyodbc-3.0.7.win-amd64-py3.3.exe)
- Om het schrijven, draaien en debuggen van mijn scripts makkelijker te maken, heb ik gebruik gemaakt van Eclips Luna met pydev plugin
- Instellen account voor Trello in Connect Bridge (zie paragraaf hieronder)
Connect Bridge opstelling
Na de installatie van Connect Bridge ziet u drie toepassingen:
- CB Service Controller - dient voor het starten en stoppen van Connect Bridge
- CB Beheertool - hier kunt u uw accounts instellen voor verbinding met het doelsysteem
- CB Query Analyzer - dit hulpmiddel dient voor visualisatie van de database Schema van het doelsysteem en u kunt hier gemakkelijk uw query's proberen
Dus laten we een account aanmaken voor Trello. Open de beheertool en maak in de sectie Accounts een nieuwe account aan, selecteer in de combobox met connectoren CBTrelloConnector en klik op de wizard Authenticatie.
Dan gewoon opslaan en we hebben onze rekening.
Nu kunnen we de CB Query Analyzer tool gebruiken om schema's te visualiseren. We moeten een nieuwe verbinding toevoegen zoals beschreven in de afbeelding hieronder.
Voor de verbinding vanuit het python script hebben we een verbindings string nodig met deze account.
Om onze connectiestring te kennen, kunnen we rechts klikken op de Trello connectie en dan klikken op "Edit connection", in de connectie editor kies de "Advanced" tab en kopieer de waarde uit het tekstvak "Connection String". (Zie afbeeldingen hieronder)
Hands on scripting!
De kern en tegelijkertijd het enige bestand in mijn oplossing is CBQuery.py. De broncode staat hieronder.
#!/usr/local/bin/python2.7 # codering: utf-8 ''' CBQuery2 -- gegevens opvragen uit, gegevens schrijven naar SharePoint, Dynamics CRM, Exchange CBQuery2 is een script dat het mogelijk maakt SQL queries uit te voeren via Connect Bridge ODBC driver @auteur: Michal Hainc @auteursrecht: 2014 @licentie: Apache 2.0 @contact: michalhainc@gmail.com @deffield bijgewerkt: 18.8.2014 ''' importeer sys import os importeren pyodbc uit argparse import ArgumentParser uit argparse importeren RawDescriptionHelpFormatter __all__ = [] __version__ = 0.1 __date__ = '2014-08-15' __updated__ = '2014-08-15' DEBUG = 1 TESTRUN = 0 PROFIEL = 0 klasse CLIError(Uitzondering): '''Generieke uitzondering om verschillende fatale fouten op te roepen en te loggen.''' def __init__(self, msg): super(CLIError).__init__(type(self)) self.msg = "E: %s" % msg def __str__(self): geef self.msg terug def __unicode__(self): geef self.msg terug def main(argv=None): # IGNORE:C0111 '''Opdrachtregel opties.''' Als argv None is: argv = sys.argv anders: sys.argv.extend(argv) program_name = os.path.basename(sys.argv[0]) programma_versie = "v%s" % __version__ programma_build_date = str(__updated__) program_version_message = "%%(prog)s %s (%s)" % (program_version, program_build_date) program_shortdesc = __import__('__main__').__doc__.split("n")[1] programma_licentie = '''%s Gemaakt door Michal Hainc op %s. Gelicentieerd onder de Apache Licentie 2.0 http://www.apache.org/licenses/LICENSE-2.0 Gedistribueerd op een "AS IS" basis zonder garanties of voorwaarden van welke aard dan ook, hetzij uitdrukkelijk of impliciet. GEBRUIK ''' % (program_shortdesc, str(__date__)) proberen: # Setup argument parser parser = ArgumentParser(description=program_license, formatter_class=RawDescriptionHelpFormatter) parser.add_argument('connstr') parser.add_argument('query') # Verwerk argumenten args = parser.parse_args() query = args.query connstr = args.connstr conn = pyodbc.connect(connstr) cursor = conn.cursor() cursor.execute(query) terwijl 1: row = None try: row = cursor.fetchone() behalve: print(sys.exc_info()[1]) break indien niet rij: break afdruk(rij) behalve KeyboardInterrupt: ### toetsenbord interrupt behandelen ### return 0 except: print(sys.exc_info()[1]) #indent = len(program_name) * " " #sys.stderr.write(program_name + ": " + repr(e) + "n") #sys.stderr.write(indent + " gebruik --help voor hulp") retour 2 als __name__ == "__main__": indien TESTRUN: importeer doctest doctest.testmod() indien PROFIEL: import cProfile importeren pstats profile_filename = "CBQuery2_profile.txt cProfile.run('main()', profile_filename) statsfile = open("profile_stats.txt", "wb") p = pstats.Stats(profile_filename, stream=statsfile) stats = p.strip_dirs().sort_stats('cumulatief') stats.print_stats() statsfile.close() sys.exit(0) sys.exit(main())
- connstr (Verbinding string) bevat de ODBC verbindings string die we doorgeven aan de pyodbc module om een ODBC verbinding te maken opgeslagen in conn variabele
- Als volgende stap openen we een database cursor met de connectie opgeslagen in conn
- dan voeren we de SQL query uit die is doorgegeven via de opdrachtregelparameter met de naam query
- Als laatste gebruiken we een while-lus om de resultaten van de cursor rij per rij te lezen, wanneer de cursor.fetchone None teruggeeft, breken we de lus
- als er een uitzondering optreedt tijdens het ophalen van de ODBC, breken we ook de lus en drukken we het probleem af naar de uitvoer
- indien de fetchone methode slaagt en een data rij retourneert, zullen we de ruwe data rij afdrukken naar de output voor demonstratie doeleinden (... kan elke vorm van output zijn... we kunnen formatteren als xml of json, csv... of elke vorm van data-uitwisseling formaat) of gewoon gebruik maken van de ruwe data rij object om te worden gebruikt in verdere code logica om aangepaste taken uit te voeren
Het CBQuery.py script uitvoeren
Ik heb mijn script getest met de Windows PowerShell, maar je kunt elke andere shell gebruiken die je maar wilt...
We weten dat onze CBQuery.py twee positionele commandoregel argumenten accepteert de "connstr" en "query".
We kunnen zien dat het schema een "tabel" bevat met de naam "lijst", dus we kunnen onze query construeren als SELECT * FROM list LIMIT 10 om de eerste 10 items uit de Trello lijst te selecteren, en door de query uit te voeren zoals we kunnen zien op onze afbeelding hieronder dat de query 10 rijen teruggeeft in de uitvoer.
Nu kunnen we proberen om een nieuwe Trello Card te maken in de eerste 'Blanco' lijst. We zullen hiervoor query gebruiken:
INSERT INTO Kaart (naam, id lijst) VALUES ("Nieuwe kaart", "565c0d32c75039b07e86b0b3")
Je kan in Trello zien dat de nieuwe kaart succesvol is aangemaakt
Beperkingen
Tot nu toe heb ik de Connect Bridge tool alleen kunnen gebruiken vanuit Windows besturingssystemen, vanwege het feit dat Connecting Software geen ODBC Linux client library heeft geleverd (Als dat al mogelijk is). Speel dus zeker met je Python scripts op een Windows machine.
Conclusie
We hebben bewezen dat de toegang tot Trello API in Python kan echt gemakkelijk met behulp van Connect Bridge integratie tool. En Trello is slechts een systeem van de vele anderen die Connect Bridge maakt het mogelijk om te integreren. Stel je voor dat je veilig toegang kunt krijgen tot API's van grote software en diensten zoals Dynamics CRM, NAV, AX, Salesforce, Exchange en nog veel meer. Als u geïnteresseerd bent om te stoppen met het verspillen van uw tijd het leren van honderden API-documentatie pagina's elke keer dat je in een nieuw doelsysteem, vraag naar gratis proefversie, prijzen en bijkomende vragen.
Proost,
Ondrej
Comments 1
Verbazingwekkend goed werk. Deze twee punten zijn goed gedekt; "Connect Bridge setup" en "Beperkingen". Bedankt voor het delen van dit onderwerp "Toegang Trello API met behulp van Python scripts met Connect Bridge". Het beste deel is het artikel heeft alle praktische detaillering! Blijven delen.