Hier ist ein Beispiel für eine Suchanfrage.
Im obigen Beispiel ist der Endpunkt die Quelle, wodurch die Aktionen mit der API-Anforderung auf Aktionen beschränkt werden, die speziell für die Bearbeitung von Benutzerdatenobjekten entwickelt wurden.
Im obigen Beispiel ist die Aktion Suchen. Die Suche wird verwendet, um Daten von einem Endpunkt abzurufen, der einen bestimmten Satz von Filtern erfüllt.
{KeyValue}.
action=search&args=[{"full_name":"Steve Joe"}] würde nur Datensätze zurückgeben, bei denen "full_name" (Schlüssel) "Steve Joe" (Wert)ist. Es können beliebig viele Filter verwendet werden, solange sie der Schlüssel:Wert-Struktur entsprechen und durch Kommas getrennt sind.Wenn Sie der API-Suchanforderung Filterwerte hinzufügen, müssen Textzeichenfolgen in Anführungszeichen stehen.
Die Minitab Connect Suchaktion für API-Endpunkte ist auf einfache Abfragen beschränkt. Zusammengesetzte Suchanfragen müssen sich auf unterschiedliche Schlüssel beziehen. Beispiele: {"A":"Bob"},{"B":"Testen"}. Die zweimalige Abfrage eines Schlüssels in derselben Suchanforderung führt zu einer Antwort, die alle Ergebnisse enthält, die nur der zweiten Bedingung entsprechen. Komplexe Abfragen für einen einzelnen Schlüssel sind über den Endpunkt der Quellschnittstelle mit js_filter möglich.
Jede erfolgreiche API-Anfrage der Version 3 gibt Daten in Form eines JSON-Objekts zurück. In diesem Beispiel konzentrieren wir uns auf eine einfache API-Antwort.
Die API-Anforderung, die verwendet wird, ist die obige "Beispiel-API-Anforderung".1 Nachfolgend finden Sie eine Aufschlüsselung des Beispiels:
https://connect.minitab.com/api/3/User?apikey=45354645654474127781&action=search&args=[{"full_name":"Steve Joe"}]
bei https://connect.minitab.com/ her und gibt an, dass es sich um eine API-Anforderung der Version 3 mit /api/3handelt.?apikey= zu authentifizieren 45354645644741277812&action=Suche Diese Aktion konfiguriert das System so, dass es ein Filterarray akzeptiert, das die Suchparameter bestimmt.
Diese Konfigurationsvariable wird durch ein kaufmännisches Und-Zeichen (&) vom API-Schlüssel getrennt. Allen Variablen mit Ausnahme der ersten Variablen wird ein kaufmännisches Und-Zeichen vorangestellt.
&args=[{"full_name":"Steve Joe"}] Das Filterarray weist das System an, die Userdata-Objekte zu durchsuchen und alle Objekte zurückzugeben, die das Attribut full_name haben, das gleich "Steve Joe" ist.Die von einer API-Anforderung empfangene Antwort ist ein JSON-Objekt, das alle Benutzerdatenobjekte mit dem Attribut "fname" und dem Wert "Steve" enthält. Alle Antwortobjekte haben die gleiche Grundstruktur und werden als JSON-formatierte Zeichenfolge zurückgegeben.
{"data":[{"type":"User","id":"999","attributes":{"user_id":"999","user_guid":"558877tu8822","full_name:"Steve
Joe","email":"Steve_Smith@minitab.com","phone":"","user_type_id":"66","cust_id":"1","adobe_key":null,"login":null,"theme":"","last_active":null,"is_active":"1","exceptions":[],"notes":"","two_factor":"0","auth_token":null,"expires":null,"password_history":null,"access_type":"40","notification_preference":"noti","primary_id":"user_id","primary_guid":"user_guid"},"meta":{"valid":true,"getters":{"EXCEPTIONSON":"getExceptionsOn","FULLUSERLIST":"getFullUserList","CUSTOMERUSERLIST":"getCustomerUserList","NOTIFICATIONS":"getNotifications","DBSTATUS":"getDBStatus","DBTABLES":"getDBTables","DBVIEWS":"getDBViews","JOBS":"getJobs","UIREFRESH":"getUIRefresh","USERGUID":"getUserGUID","USERID":"getUserID","NAME":"getName","FULLNAME":"getFullName","FNAME":"getFName","MNAME":"getMName","LNAME":"getLName","EMAIL":"getEmail","PHONE":"getPhone","ADOBEKEY":"getAdobeKey","LOGIN":"getLogin","CUSTID":"getCustId","USERTYPEID":"getUserTypeID","THEME":"getTheme","LASTACTIVE":"getLastActive","ISACTIVE":"getIsActive","EXCEPTIONS":"getExceptions","NOTES":"getNotes","TWOFACTOR":"getTwoFactor","AUTHTOKEN":"getAuthToken","EXPIRES":"getExpires","PASSWORDHISTORY":"getPasswordHistory","CUSTOMERSTATS":"getCustomerStats","RELATIVES":"getRelatives","ACCESSTYPE":"getAccessType","NOTIFICATIONPREFERENCE":"getNotificationPreference","ACTIVEUSERS":"getActiveUsers","CONTYPE":"getConType","ID":"getID","PRIMARYID":"getPrimaryID","GUID":"getGUID","PRIMARYGUID":"getPrimaryGUID","PROPERTIES":"getProperties"},"setters":{"CDBO":"setCDBO","USERGUID":"setUserGUID","FNAME":"setFName","MNAME":"setMName","LNAME":"setLName","EMAIL":"setEmail","PHONE":"setPhone","ADOBEKEY":"setAdobeKey","LOGIN":"setLogin","CUSTID":"setCustID","USERTYPEID":"setUserTypeID","THEME":"setTheme","LASTACTIVE":"setLastActive","ISACTIVE":"setIsActive","PASSWORD":"setPassword","NOTES":"setNotes","TWOFACTOR":"setTwofactor","AUTHTOKEN":"setAuthToken","EXPIRES":"setExpires","PASSWORDHISTORY":"setPasswordHistory","ACCESSTYPE":"setAccessType","NOTIFICATIONPREFERENCE":"setNotificationPreference","ID":"setID","DBO":"setDBO"},"actions":{"load":{"parameters":[{"name":"args"}]},"loadExceptions":{"parameters":[]},"addException":{"parameters":[{"name":"args"}]},"updateException":{"parameters":[{"name":"args"}]},"removeException":{"parameters":[{"name":"args"}]},"clearExceptions":{"parameters":[]},"search":{"parameters":[{"name":"args"}]},"remove":{"parameters":[]},"checkPassword":{"parameters":[{"name":"password"}]},"checkPasswordHistory":{"parameters":[{"name":"password"}]},"runDBSQL":{"parameters":[{"name":"args"}]},"removeUIRefresh":{"parameters":[{"name":"args"}]},"createUIRefresh":{"parameters":[{"name":"args"}]},"systemLog":{"parameters":[{"name":"args"}]},"checkLogIn":{"parameters":[{"name":"args"}]},"logIn":{"parameters":[{"name":"args"}]},"removeUser":{"parameters":[]},"whois":{"parameters":[{"name":"auth_token"}]},"auth":{"parameters":[{"name":"args"}]},"commit":{"parameters":[]},"purge":{"parameters":[{"name":"args"}]},"checkRequirements":{"parameters":[{"name":"password"}]},"checkHistory":{"parameters":[{"name":"password"},{"name":"limt"}]},"grantAccess":{"parameters":[{"name":"args"}]},"removeAccess":{"parameters":[{"name":"args"}]},"notify":{"parameters":[{"name":"args"}]},"sharableList":{"parameters":[]},"slackAccounts":{"parameters":[]},"sendSupportRequest":{"parameters":[{"name":"args"}]},"downloadActiveUsers":{"parameters":[{"name":"args"}]},"message":{"parameters":[]},"beginTransaction":{"parameters":[]},"commitTransaction":{"parameters":[]},"rollbackTransaction":{"parameters":[]},"restrictCustomer":{"parameters":[]},"permissionRequired":{"parameters":[{"name":"args"}]}}}}],"meta":{"data_type":"array"},"self":"https:\/\/connect.minitab.com\/api\/3\/User?apikey=5555888817ab43&action=search&args=[{%22full_name%22:%22Steve
Joe%22}]"}
In diesem Thema wird der Prozess zur Verwendung der API-Suchanforderung Version 3 beschrieben, um die GUID eines gewünschten Endpunkts zu erhalten, indem das Filterarray konfiguriert wird. Außerdem wird erläutert, wie Sie ermitteln, welche Attribute für einen bestimmten Endpunkt zum Filtern verfügbar sind.
Jedes Objekt verfügt über Minitab Connect einen entsprechenden Endpunkt, der mithilfe eines Filterarrays durchsucht werden kann. Der erste Schritt bei der Identifizierung einer bestimmten ID besteht darin, zu bestimmen, welcher Endpunkt in der API-Suchanfrage verwendet werden muss. Weitere Informationen zu Endpunkten sowie eine Auflistung aller aktuellen Endpunkte finden Sie in Die Minitab Connect API. Nachdem der erforderliche Endpunkt identifiziert wurde, besteht der nächste Schritt darin, die Liste der Attribute anzufordern, nach denen gesucht werden kann.
(In diesem Artikel wird der Endpunkt "user" verwendet.)Wenn Ihre API-Anforderung alle erforderlichen Informationen enthält, können Sie die Anforderung ausführen. Jede erfolgreiche API-Anfrage der Version 3 gibt Daten in Form eines JSON-Objekts zurück. Da die Anforderung keine Endpunkt-ID enthielt, enthält die JSON-Antwort alle NULL-Daten. Die Daten sind jedoch nicht das, was wichtig ist; In diesem Beispiel ist der Name des Attributs vor den Daten das, wonach wir suchen. Dies sind die Endpunktattribute. Hier ist das Ergebnis der Beispiel-API-Anfrage:
{
"data":{
"type":"User",
"attributes":{
"user_id":null,
"user_guid":null,
"full_name":null,
"email":null,
"phone":null,
"user_type_id":null,
"cust_id":null,
"adobe_key":null,
"login":null,
"theme":null,
"last_active":null,
"is_active":null,
"exceptions":null,
"notes":null,
"two_factor":null,
"auth_token":null,
"expires":null,
"password_history":null,
"access_type":null,
"notification_preference":"noti",
"primary_id":"user_id",
"primary_guid":"user_guid"
},
"meta":{ }
},
"meta":{ },
"self":"https:\/\/connect.minitab.com\/api\/3\/User?apikey=411412489453456345645"
Die Attribute, die für die Suche verwendet werden können, finden Sie im JSON-Antwortobjekt -> "data" -> "attributes". In diesem Beispiel lauten die Attribute bei Verwendung des Benutzerendpunkts wie folgt: user_id, user_guid, full_name, E-Mail, Telefon, user_type_id, cust_id, adobe_key, Anmeldung, last_active, is_active, Ausnahmen, Notizen, two_factor, auth_token, Ablauf, password_history, access_type, notification_preference, primary_id primary_guid. Jedes oder alle dieser Attribute können in einem Filterarray verwendet werden, um eine bestimmte Endpunkt-ID zu ermitteln.
Wir haben nun alle Informationen erfasst, die zum Erstellen unserer Suchaktion erforderlich sind, einschließlich des Filterarrays, das alle Attribute und Werte enthält, die die gewünschte Endpunkt-ID darstellen. Diese Aktion, &action=search, konfiguriert das System so, dass es ein Filterarray akzeptiert, das die Suchparameter bestimmt. Beachten Sie, dass der Aktion ein kaufmännisches Und-Zeichen (&) vorangestellt wird. Denken Sie daran, dass allen Variablen mit Ausnahme der ersten Variablen ein kaufmännisches Und-Zeichen vorangestellt wird.
An dieser Stelle können Sie das Filterarray erstellen. Abhängig von den uns zur Verfügung stehenden Informationen werden wir unterschiedliche Attribute verwenden, um unser Filterarray zu erstellen. Nehmen wir an, wir kennen die folgenden Informationen:
Anhand dieser Informationen und der Liste der Attribute, die für den Benutzerendpunkt verfügbar sind, stellen wir fest, dass wir die Attribute full_name, cust_id und is_active benötigen. Das Filterarray sieht wie folgt aus:
&args=[{"full_name":["eq","Barry Joe"],"is_active":["eq","1"]}]
Die vollständige API-Suchanfrage Version 3 lautet wie folgt:
https://connect.minitab.com/api/3/User?apikey=411412489453456345645&action=search&args=[{"full_name":["Gl","Barry Joe"],"is_active":["Gl","1"]}]
Wenn wir diese Anfrage ausführen, erhalten wir ein einzelnes Ergebnis:
{
"data":{
"type":"User",
"attributes":{
"user_id":17,
"user_guid":"75647362",
"full_name":"Barry Joe",
"email":"barry.smith@tmmdata.com",
"phone":"111-555-1312",
"user_type_id":20,
"cust_id":"52342321",
"adobe_key":null,
"login":null,
"theme":"3c",
"last_active":"2017.10.31 09:53:01",
"is_active":1,
"exceptions":null,
"notes":null,
"two_factor":null,
"auth_token":null,
"expires":null,
"password_history":null,
"access_type":50,
"notification_preference":"noti",
"primary_id":"user_id",
"primary_guid":"user_guid"
},
"meta":{ }
},
"meta":{ },
"self":"https:\/\/connect.minitab.com\/api\/3\/User?apikey=411412489453456345645"
Die Endpunkt-ID ist 17. Jede zukünftige API-Anfrage der Version 3, die sich auf diesen Benutzer auswirken würde, enthält diese ID.