Bedienen Sie Filemaker von Python aus

Ich habe versucht, Filemaker mit Python zu betreiben.

Umgebung

Server windows server 2012 R2 Filemaker server 17

Klient windows 10 pro office 2016

Python 3.8.1 Pycharm Community Edition 2020.2

Was du machen willst

Suchen und aktualisieren Sie die entsprechende Datenbank, die auf den Filemaker-Server hochgeladen wurde. Die erwartete Arbeit ist die Hauptwartung. Ich denke, dass Filemaker oft wie CRM verwendet wird, aber ich denke, es wäre praktisch, wenn der Master aus dem Buchhaltungssystem gegossen werden könnte. Na ja, vielleicht sollte ich es von Hand machen.

Vorbereitung

Es wird davon ausgegangen, dass Filemaker Server über eine geeignete Datenbank verfügt. Es wird davon ausgegangen, dass bereits Benutzer mit der veröffentlichten Web-API auf diese Datenbank zugreifen können. Es wird davon ausgegangen, dass das Zertifikat für die SSL-Kommunikation nicht installiert wurde.

Verwenden Sie Anfragen. Bitte importieren.

Zugriffstoken erhalten

headers = {'Authorization': 'Basic XXXXXXXXXXXXXXXX', 'Content-Type': 'application/json'}
r_post = requests.post(https://[hostname]/fmi/data/v1/databases/[databasename]/sessions', headers=headers, verify=False)

Was in Excel geschrieben wurde, kann in nur zwei Zeilen realisiert werden! Großartiger Python. Kopieren Sie nach Basic die mit idpw base64 codierte Zeichenfolge. Hier gibt es vielleicht einen besseren Weg. Stellen Sie [Hostname] und [Datenbankname] entsprechend Ihrer Umgebung ein.

Suchen nach

headers = {'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json'}

query = {'query': [{"Name des Suchfelds": Schlüsselwort}]} r_post = requests.post( https://[hostname]/fmi/data/v1/databases/[databasename]/layouts/[layoutname]/_find, json=query, headers=headers, verify=False)

Es ist sehr leicht. Es scheint, dass es zwei Möglichkeiten gibt, json und Daten in request.post anzugeben, aber wenn Filemaker die andere Partei ist, ist json einfach. Für das Suchschlüsselwort können Sie anscheinend die im Suchmodus von Filemaker angegebene Methode verwenden, z. B. * oder =.

Aktualisieren

headers = {'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json'}

fieldData = {'fieldData': {'Zielfeldname aktualisieren': Wert1, 'Zielfeldname aktualisieren': Wert2}} r_post = requests.patch(https://[hostname]/fmi/data/v1/databases/[databasename]/layouts/[layoutname]/records/[recordId], json=fieldData, headers=headers, verify=False) Ich habe zwei Stunden gebraucht, um herauszufinden, dass die Methode Patch war ... Nicht genug Hingabe.

abschließend

Jetzt können Sie die vorliegende CSV-Datei Zeile für Zeile lesen und die Master-Datenbank in Filemaker teilweise aktualisieren. Wenn Sie alle Daten auf einmal ersetzen möchten, müssen Sie diese nervige Sache nicht tun.

Recommended Posts

Bedienen Sie Filemaker von Python aus
Bedienen Sie Neutronen von Python!
Betreiben Sie LXC von Python aus
Bedienen Sie ein mit I2C verbundenes Display über Python
Betreiben Sie DynamoDB von Python aus wie SQL.
SQL zu SQL
MeCab von Python
Betreiben Sie den Cloud-Objektspeicher von Sakura von Python aus
Verwenden Sie thingspeak aus Python
Berühren Sie MySQL in Python 3
Bearbeiten Sie Redmine mit Python Redmine
Verwenden Sie fließend Python
Greifen Sie über Python auf Bitcoind zu
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Python aus oder importieren
Verwenden Sie MySQL aus Python
Führen Sie Python aus Excel aus
Installieren Sie Python von der Quelle
Kinesis mit Python betreiben
Führen Sie Befehle aus Python aus
Verwenden Sie MySQL aus Python
Betreiben Sie Blender mit Python
Manipuliere Riak aus Python
Erzwinge Python aus Fortran
Verwenden Sie BigQuery aus Python.
Führen Sie den Befehl von Python aus
Betreiben Sie Excel mit Python (1)
[Python] Von Stdin lesen
Verwenden Sie mecab-ipadic-neologd von Python
Betreiben Sie Excel mit Python (2)
Betreiben Sie mongoDB von Python in einer Ubuntu-Umgebung. ① Einführung von mongoDB
[AWS] SQS über SDK betreiben (Senden / Empfangen) [Python] [Node.js]
Mit Python abflachen
Rufen Sie CPLEX von Python aus auf (DO cplex)
Deep Python hat von DEAP gelernt
Betreiben Sie Excel mit Python Open Pyxl
Post von Python nach Slack
Betreiben Sie TwitterBot mit Lambda, Python
Grammatikfunktionen aus Python3.6 hinzugefügt
Flirte von PHP nach Python
Stellen Sie MeCab in Python 3 zur Verfügung
Informationen von tweet_id (Python)
OCR aus PDF in Python
Führen Sie das Illustrator-Skript von Python aus
Verwenden Sie MySQL von Anaconda (Python)
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Studie aus Python Hour4: Objektorientiert ②
Fragen Sie Athena von Lambda Python ab
Greifen Sie über Python auf Oracle DB zu
[Hinweis] Betreiben Sie MongoDB mit Python
Studie aus Python Hour3: Funktionen
Starten / Stoppen von GCE über Python
Stoppen Sie Omxplayer vom Python-Code
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
Installieren Sie pyenv von Homebrew, installieren Sie Python von pyenv
Studie aus Python Hour4: Objektorientiert ①
Python-Namenskonvention (ab PEP8)
[Python] [SQLite3] Betreiben Sie SQLite mit Python (Basic)