@@ -47,7 +47,8 @@ Příklady použití pro další HTTP metody najdete v [dokumentaci].
4747
4848## Použití session
4949
50- Hlavně v budoucnu se nám bude hodit použití tzv. * session* .
50+ Hlavně v budoucnu se nám bude hodit použití tzv.
51+ [ * session* ] ( http://docs.python-requests.org/en/master/user/advanced/#session-objects ) .
5152
5253Session má několik výhod.
5354První je, že využívá na pozadí jedno otevřené HTTP spojení a poskytuje tak
@@ -75,7 +76,7 @@ k testování HTTP dotazů:
7576## Twitter API
7677
7778Pro reálné použití si ukážeme, jak se dá pomocí requests získat seznam tweetů.
78- Z Twitteru nebudeme samozřejmě nic parsovat, ale použijeme jejich [ API] .
79+ Nebudeme samozřejmě nic parsovat z HTML stránek , ale použijeme [ API Twitteru ] .
7980
8081``` pycon
8182>>> r = session.get(' https://api.twitter.com/1.1/search/tweets.json' )
@@ -87,9 +88,11 @@ Jak můžete vidět v odpovědi, Twitter API neumožňuje data číst bez autent
8788Jak se autentizovat byste při troše hledání našli v dokumentaci, ale protože
8889tu nevyučujeme úvod do OAuthu, ale Python, rozhodli jsme se vám to zjednodušit.
8990
90- Po přihlášení na Twitter (pokud nemáte účet, můžete si vytvořit nějaký * dummy*
91- účet, ale budete potřebovat ověřitelné telefonní číslo)
92- jděte na [ apps.twitter.com] a vytvořte aplikaci (URL si můžete vymyslet).
91+ Nemáte-li na Twitter účet, vytvořte si ho. Můžete vytvořit nějaký * dummy* účet,
92+ který dál nebudete používat. Budete ale potřebovat ověřitelné telefonní číslo.
93+
94+ Po přihlášení na Twitter jděte na [ apps.twitter.com] a vytvořte aplikaci
95+ (URL si můžete vymyslet, třeba ` http://invalid ` ).
9396Po vytvoření najdete na kartě * Keys and Access Tokens* ** API Key** a ** API Secret** .
9497Pozor, jedná se prakticky o hesla k vašemu Twitter účtu,
9598a proto by je nikdo kromě vás neměl vidět.
@@ -133,7 +136,8 @@ hlavičky.
133136` requests.auth.HTTPBasicAuth ` zde dle specifikace zakóduje jméno a heslo pomocí
134137algoritmu base64 a přidá hlavičku ` Authorization ` .
135138
136- Ve skutečnosti je základní HTTP přihlášení tak běžné, že lze použít zkratku:
139+ Základní HTTP přihlášení je tak běžné, že pro něj Requests mají zkratku –
140+ místo ` HTTPBasicAuth ` se dá použít jen dvojice (jméno, heslo):
137141
138142``` pycon
139143>>> r = session.post(' https://api.twitter.com/oauth2/token' ,
@@ -153,7 +157,8 @@ ale je možné nastavit autentizační funkci pro celou session.
153157>>> session.auth = bearer_auth
154158```
155159
156- Pak už by mělo API fungovat:
160+ Pak už by mělo API fungovat.
161+ Použijeme [ API pro vyhledávání tweetů] [ Search API ] :
157162
158163``` pycon
159164>>> r = session.get(
@@ -167,7 +172,7 @@ Once a framework decides to abstract the HTML layer from you. Customizing your U
167172...
168173```
169174
170- Zde je pro zjednodušení k dispozici celá funkce pro vytvoření autentizované
175+ Zde je pro zjednodušení k dispozici celá funkce pro vytvoření autentizované
171176* session* :
172177
173178``` python
@@ -190,12 +195,13 @@ def twitter_session(api_key, api_secret):
190195 return session
191196```
192197
193- [ API ] : https://dev.twitter.com/rest/public
198+ [ API Twitteru ] : https://dev.twitter.com/rest/public
194199[ apps.twitter.com ] : https://apps.twitter.com/
200+ [ Search API ] : https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html
195201
196202### GitHub API
197203
198- Podíváme se i na GitHub API, které má jednodušší autentizaci (od GitHubu přímo
204+ Podíváme se i na [ GitHub API] , které má jednodušší autentizaci (od GitHubu přímo
199205získáte token). Stačí jít do [ nastavení] a vyrobit nový token
200206(zatím není třeba zaškrtávat žádná oprávnění).
201207Token je opět třeba patřičně chránit.
@@ -217,7 +223,7 @@ Tímto kódem lze například získat popis přihlášeného uživatele, tedy se
217223```
218224
219225> [ note]
220- > Všimněte si hlavičky ` User-Agent ` . Ta je potřeba při komunikaci s GitHub API
226+ > Všimněte si hlavičky ` User-Agent ` . Ta je potřeba při komunikaci s GitHub API
221227> explicitně nastavit. Nastavení na objektu session zajistí, že tato hlavička
222228> bude ve všech požadavcích.
223229
@@ -256,6 +262,7 @@ My ale věříme, že ji odebrat nechcete :)
256262
257263[ nastavení ] : https://github.com/settings/tokens
258264[ Dokumentace ] : https://developer.github.com/v3/
265+ [ GitHub API ] : https://developer.github.com/v3
259266
260267
261268### Chraňte své tokeny
@@ -279,7 +286,8 @@ A následně konfiguraci načtete pomocí modulu
279286``` pycon
280287>>> import configparser
281288>>> config = configparser.ConfigParser()
282- >>> config.read(' auth.cfg' )
289+ >>> with open (' auth.cfg' ) as f:
290+ ... config.read_file(f)
283291>>> config[' twitter' ][' key' ]
284292D4HJp6PKmpon9eya1b2c3d4e5
285293```
@@ -288,6 +296,9 @@ Do souboru `.gitignore` pak musíte přidat název ignorovaného souboru, např.
288296
289297 auth.cfg
290298
299+ Ověřte si, že git soubor ` auth.cfg ` opravdu ignoruje, t.j. soubor se neukáže
300+ ve výstupu ` git status ` .
301+
291302Jelikož ostatní tento konfigurační soubor neuvidí,
292303je vhodné jim vysvětlit, jak takový soubor (s jejich údaji) vytvořit.
293304Můžete například vložit do gitu soubor ` auth.cfg.sample `
0 commit comments