AplikaceAplikace
Nastavení

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
manualy:api [2022/12/22 13:23] – [Použití] michalkrenmanualy:api [2023/04/05 15:58] (aktuální) tomascapka
Řádek 3: Řádek 3:
 Vybrané aplikace umožňují přístup pomocí [[https://cs.wikipedia.org/wiki/API|API]]. Přístup přes API však vyžaduje autentizaci vždy, tedy i u aplikací, které ji při běžném používání nevyžadují. Pro autentizaci slouží osobní přístupové tokeny. Vybrané aplikace umožňují přístup pomocí [[https://cs.wikipedia.org/wiki/API|API]]. Přístup přes API však vyžaduje autentizaci vždy, tedy i u aplikací, které ji při běžném používání nevyžadují. Pro autentizaci slouží osobní přístupové tokeny.
  
-===== Postup získání osobního přístupového tokenu =====+===== Postup při získání osobního přístupového tokenu =====
  
   - Pokud nejste přihlášeni, přihlaste se.   - Pokud nejste přihlášeni, přihlaste se.
Řádek 17: Řádek 17:
 V odpovědi přijde session cookie, kterou je následně potřeba posílat s každým dalším požadavkem. Pro rychlejší komunikaci je vhodné session cookie uložit a používat ji v rámci několika hodin opakovaně. V odpovědi přijde session cookie, kterou je následně potřeba posílat s každým dalším požadavkem. Pro rychlejší komunikaci je vhodné session cookie uložit a používat ji v rámci několika hodin opakovaně.
  
-Každá aplikace má specifický způsob dotazování. Návody pro použití API: +<WRAP tip important 60%> 
-  * **[[https://github.com/czcorpus/kontext/wiki/HTTP-API|KonText]]** +Popisy API jednotlivých aplikací
-  * **[[https://wiki.korpus.cz/doku.php/manualy:treq:api|Treq]]**+  * [[https://github.com/czcorpus/kontext/wiki/HTTP-API|KonText]] 
 +  * [[manualy:treq:api|Treq]] 
 +</WRAP> 
 + 
 +Každé API běží na vlastní adrese: 
 +  * KonText: ''https://korpus.cz/kontext-api/v0.17'' 
 +  * Treq''https://treq.korpus.cz/api/v1''
  
-<WRAP round important> +<WRAP round important 60%
-Každá aplikace má vlastní **limity**, po jejichž překročení hrozí zablokování přístupu k API.+Každá aplikace má také vlastní **limity**, po jejichž překročení hrozí zablokování přístupu k API.
   * **KonText**: max. 12 požadavků za minutu a současně max. 5000 požadavků za den   * **KonText**: max. 12 požadavků za minutu a současně max. 5000 požadavků za den
   * **Treq**: max. 30 požadavků za minutu a současně max. 5000 požadavků za den   * **Treq**: max. 30 požadavků za minutu a současně max. 5000 požadavků za den
Řádek 29: Řádek 35:
 ===== Příklady ===== ===== Příklady =====
  
-==== curl ==== +==== 1) curl a Treq API ====
- +
-Dotaz do aplikace Treq+
  
 <code bash> <code bash>
Řádek 42: Řádek 46:
 </code> </code>
  
-==== Python Requests ==== +==== 2) Python a KonText API ====
- +
-Dotaz do aplikace KonText+
  
 <code python> <code python>
Řádek 101: Řádek 103:
         "async": False         "async": False
     }     }
-    r = s.post('https://korpus.cz/kontext/query_submit', params={'format': 'json'}, json=request_body)+    r = s.post('https://korpus.cz/kontext-api/v0.17/query_submit', params={'format': 'json'}, json=request_body)
     response_json = r.json()     response_json = r.json()
     print(response_json)     print(response_json)
Řádek 107: Řádek 109:
     # Displaying a concordance     # Displaying a concordance
     conc_persistence_op_id = response_json['conc_persistence_op_id']     conc_persistence_op_id = response_json['conc_persistence_op_id']
-    r = s.get('https://korpus.cz/kontext/view', params={'format': 'json', 'q': '~'+conc_persistence_op_id})+    r = s.get('https://korpus.cz/kontext-api/v0.17/view', params={'format': 'json', 'q': '~'+conc_persistence_op_id})
     print(r.json())     print(r.json())