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/16 15:20] 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 13: Řádek 13:
 ===== Použití ===== ===== Použití =====
  
-Vyžaduje-li aplikace autentizaci, posílá se token v HTTP požadavku na URL ''https://korpus.cz/login'' metodou POST jako parametr ''personal_access_token''.+Token se posílá v HTTP požadavku na URL ''https://korpus.cz/login'' metodou POST jako parametr ''personal_access_token''.
  
 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%> 
 +Popisy API jednotlivých aplikací:
   * [[https://github.com/czcorpus/kontext/wiki/HTTP-API|KonText]]   * [[https://github.com/czcorpus/kontext/wiki/HTTP-API|KonText]]
-  * [[wiki:user:capka:treq:api|Treq]]+  * [[manualy:treq:api|Treq]] 
 +</WRAP>
  
-Následující příklady zahrnují vše zmíně.+Každé API běží na vlastní adrese: 
 +  * KonText: ''https://korpus.cz/kontext-api/v0.17'' 
 +  * Treq: ''https://treq.korpus.cz/api/v1''
  
-==== curl ====+<WRAP round important 60%> 
 +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 
 +  * **Treq**: max. 30 požadavků za minutu a současně max. 5000 požadavků za den 
 +</WRAP>
  
-Dotaz do aplikace Treq+===== Příklady ===== 
 + 
 +==== 1) curl a Treq API ====
  
 <code bash> <code bash>
Řádek 36: Řádek 46:
 </code> </code>
  
-==== Python Requests ==== +==== 2) Python a KonText API ====
- +
-Dotaz do aplikace KonText+
  
 <code python> <code python>
Řádek 95: Řá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 101: Řá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())