
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 vindt het leuk om elke keer dat hij toegang moet hebben tot API's, lange en ingewikkelde documentatie te moeten bestuderen. In dit artikel wordt beschreven hoe u toegang kunt krijgen tot de Trello API via Python-scripts (getest in versie 3.3) zonder enige expertise in de API van Trello. Voor deze tutorial hebt u het integratieplatform Connect Bridge nodig om de gegevenscommunicatie via de Trello API mogelijk te maken met behulp van voornamelijk eenvoudige SQL-statements. De gegevensoverdracht vindt plaats via de ODBC-laag. Ik heb dit in Python gerealiseerd met behulp van de pyodbc-module ver. 3.0.7 x64.Wat 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-servicecontroller – dient voor het starten en stoppen van Connect Bridge
- CB Administration Tool – hier kunt u uw accounts instellen voor verbinding met het doelsysteem
- CB Query Analyzer – deze tool dient voor het visualiseren van het schemasysteem van het doelsysteem en u kunt hier eenvoudig uw query's uitproberen.
Laten we dus uw account voor Trello aanmaken. Open Administration Tool en maak in het gedeelte Accounts een nieuw account aan. Selecteer in de combobox Connectors CBTrelloConnector en klik op Authentication Wizard.

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 verbindingsstring te achterhalen, kunnen we met de rechtermuisknop op de Trello-verbinding klikken en vervolgens op “Verbinding bewerken” klikken. In de verbindingseditor kiezen we het tabblad “Geavanceerd” en kopiëren we de waarde uit het tekstvak “Verbindingsstring”. (Zie onderstaande afbeeldingen)


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
- Als de fetchone-methode slaagt en een gegevensrij retourneert, zullen we de ruwe gegevensrij afdrukken naar de uitvoer voor demonstratiedoeleinden (... dit kan elke soort uitvoer zijn ... we kunnen deze opmaken als xml of json, csv ... of elk ander soort gegevensuitwisselingsformaat) of gewoon het ruwe gegevensrijobject gebruiken in verdere codelogica om aangepaste taken uit te voeren.
Het CBQuery.py script uitvoeren
Ik heb mijn script getest met Windows PowerShell, maar je kunt elke andere shell gebruiken die je wilt...
We weten dat onze CBQuery.py twee positionele commandoregelargumenten accepteert: “connstr” en “query”.
We zien dat het schema een “tabel” met de naam “list” bevat, dus we kunnen onze query opstellen als SELECT * FROM list LIMIT 10 om de eerste 10 vermeldingen uit de Trello-lijst te selecteren. Door de query uit te voeren, zien we op de afbeelding hieronder dat de query 10 rijen in de uitvoer heeft geretourneerd.


Nu kunnen we proberen een nieuwe Trello-kaart aan te maken in de eerste ‘lege’ lijst. Daarvoor gebruiken we de volgende query:
INSERT INTO Card (naam, idlist) WAARDEN (‘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 toegang tot de Trello API in Python heel eenvoudig kan zijn met behulp van de Connect Bridge-integratietool. En Trello is slechts één van de vele systemen die met Connect Bridge kunnen worden geïntegreerd. Stel je voor dat je veilig toegang hebt tot API's van belangrijke software en diensten zoals Dynamics CRM, NAV, AX, Salesforce, Exchange en nog veel meer. Als je geen tijd meer wilt verspillen aan het bestuderen van honderden pagina's met API-documentatie telkens wanneer je met een nieuw doelsysteem te maken krijgt, 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.