[Powered by Google Translate] [Seminář] [A Programmer Úvod do API] [Billy Janitsch] [Harvard University] [Tommy MacWilliam] [To je CS50.] [CS50.TV] Ahoj, všichni, já jsem Billy, a dnes budu hovořit o API, nebo rozhraní pro programování aplikací, zejména v souvislosti s CS50 závěrečných prací a podobné věci. Obecně to, co je API? Ve velmi širokém smyslu, je to něco jako prostředníka, který umožňuje 2 kusy software pro komunikaci mezi sebou navzájem. To je druh velmi širokou definici, a není to relevantní pro to, co se díváme na. To, co opravdu chci, je nějaký druh užitečného střední cestě komunikovat s nějakým databáze někde. Zde je graf, a v podstatě myšlenka je, že jsme žádost, a chceme se dostat data z databáze, ale nechceme vyhledávat v databázi přímo. Místo toho chceme jít přes tento druh středního člověka, API. Myšlenka, že jsou čísla 2 a 3 na grafu jsou oba bude velmi komplikovaný a chaotický. Jinými slovy, když API je dotazování databáze, je to asi bude pomocí SQL tabulky a všechny uvedené druhu věci, a my jsme se naučili něco o tom v CS50, ale celkově, jste si všimli, že je to trochu bolesti. To dostane velmi, velmi složité a komplikované, zvláště když děláš složité dotazy a takové věci. To, co opravdu chci, je nějaký užitečný a jednoduchý způsob, jak získat tato data, a to je myšlenka čísla 1 a 4 na grafu. Jinými slovy, chceme opravdu jednoduchý způsob, jak říct API, co si pro nás a opravdu jednoduchý způsob, jak se dostat, že data zpět. Je tam jeden hlavní způsob, jak že uvedené údaje jsou obvykle odeslali a přijali, která je JSON, nebo JavaScript Object Notation. To může lišit trochu, pokud, jak jste poslat požadavek na API. Jinými slovy, pokud chcete nějaké určité množství dat, Jak řeknete API dostat, že parametry se mohou lišit trochu. Obvykle to zahrnuje výrobu nějakou síťového požadavku. Jinými slovy, přístup k nějaké URL, která to řekne API přesně to, co chcete, ale data jsou téměř vždy vráceno zpět, Jinými slovy, číslo 4 v JSON. Co je to JSON přesně? Jak už jsem řekl, JavaScript Object Notation. Je to v podstatě univerzální standard pro vysílání a příjem dat. Myšlenka je, že máte tyto 3 kategorie věcí. Máte pole, hashmaps, a primitiva. Pole a hashmaps jste se dívali na trochu v CS50, ale vy jste nějak dostal velmi přísnou smysl toho, co oni jsou. Jinými slovy, s poli víte, že to typ vázaný, takže máte jen jeden druh typu, který jde v celém poli. JSON je mnohem shovívavější takové věci. V podstatě myšlenka je si postavit tento objekt, , které mohou být složeny z některé z těchto 3 věcí a může být složena z více ty z nich, a mohou být vnořené. Tady je jakýsi příklad JSON, která je se tyto Složené závorky zde představují své HashMap a HashMap je v podstatě mapování z nějaké klíče k nějakému hodnoty. Budete vidět, že máme vlastnosti klíč, a že je mapování na pole, které je to celé. Vidíme další prvek HashMap, který je tento klíč isAwesome, které se mapuje na primitivní hodnotu true, jinými slovy, boolean. Primitives mohou být řetězce. Mohou být celá čísla. Mohou být bools, něco takového. A vidíte obsah tohoto pole, které vlastnosti bodů má 2 řetězce v něm, self-podobný a nádherné. Ti jsou 2 vlastnosti JSON, a vidíme, že JSON je úžasné. Chcete-li se podívat na to trochu podrobněji budu konstruovat složitější příklad JSON zde. Začněme pole, například, jen prázdné pole. Ale to je trochu nudné, takže budeme se naplní trochu, a jak jsem řekl, pole v JSON jsou typu meze, takže se může také mít řetězec zde, což je hi, a to je další prvek tohoto pole. A podobně bychom mohli přidat hashmapping sem, který bude mít několik mapování. Bude to mít mapování z názvu na řetězec Billy. Máme mapování z názvu Billymu, a máme mapování oblíbená barva na modrou. To je v podstatě dobrý příklad JSON. Je to druh dostane do-jejda, potřebují čárku tam, všude různých částí. Opět, to není typ vázány vůbec, takže můžete mít nějaký druh typy uvnitř, co chcete, a myšlenka je, že je to self-podobný. Jinými slovy, to tady je objekt JSON, jak je to celé, jako je právě tento, takže můžete mít primitivní být objekt, pole je objekt nebo HashMap být objekt. Jak můžete trochu vidět, JSON je opravdu, ale opravdu užitečné v tom, že je to tak univerzální. Můžete mít všechny možné údaje, které si můžete otěhotnět uložené v JSON. To dělá to opravdu krásný jazyk pro použití s ​​API protože to skoro znamená, že bez ohledu na to, co data, která chcete tam to bude nějaký způsob, jak se dostat zpět do formátu JSON. Několik vlastnosti, které dělají JSON zvláště vhodné pro tento druh věci. Jak můžete vidět, ve srovnání s mnoha věcí, které jste pracovali s ve CS50 je to poměrně velmi dobře čitelný a také velmi snadné psát. Můžete odrážka to, pokud chcete, jako bych dělal v té příkladu, , která vám dává pěkný, pěkný verzi, kterou můžete vidět opravdu dobře. Ale navíc, je to také snadné číst a psát na počítači. Jinými slovy, je to snadné analyzovat a snadno zakódovat, což znamená, že je to docela rychle, pokud jde o čtení dat se týká, a JSON mohou být generovány velmi rychle. Je to také velmi snadný přístup různých částí JSON a podobné věci. To je hezké, a dále skutečnost, že je to self-podobný, jinými slovy, skutečnost, že můžete mít JSON ve formátu JSON ve formátu JSON je opravdu pěkný pro ukládání dat. Další část, která je obecně velmi užitečné při práci s API je jQuery. Jste se naučili trochu JavaScriptu, který je příjemný způsob, jak manipulovat HTML a CSS v rámci webové stránky. Ale to může být trochu bolest kódu v prostém JavaScript, především proto, že JavaScript je opravdu podrobný jazyk. Musíte se naučit spoustu syntaxe, a jen dělat velmi jednoduché věci to trvá hodně kódu, takže jQuery je knihovna pro JavaScript. Jinými slovy, je to JavaScript soubor, který můžete načíst a pak použít jQuery funkce dělat určité věci. A jQuery podstatě dělá váš život mnohem jednodušší. To zjednodušuje to, co by se stovky řádků v JavaScriptu do několika řádků v jQuery. To je zvláště užitečné, pokud používáte rozhraní API, protože obecně jak budete přistupovat k rozhraní API je tím, že AJAX požadavků, a věřím, že David je uvedeno v přednášce, že AJAX požadavky jsou obecně, když děláte sítě požadavek na nějaké serveru a dostat zpět nějaké dat a aktualizaci stránky okamžitě. Vzhledem k tomu, v prostém JavaScriptem, který by se bláznivé čísla linek ověřit všechny hlavičky a dělat všechno tento druh věcí, jQuery má opravdu jednoduchou funkci nazvanou AJAX, a vše, co musíte udělat, AJAX, je dát parametry, které chcete dát API, umístění API a jakékoli další druh voleb, které chcete konfigurovat. Je to opravdu, opravdu pěkné a velmi užitečné pro takové věci. To je vše, co potřebujeme začít se naše ruce špinavé API. Jdu vychovat několik příkladů a prozkoumat jejich různé vlastnosti a proč jsou užitečné pro různé druhy věcí. První věc, kterou jsem vám vlastně ukážu, je něco, co jsem pracoval na V mé výzkumné laboratoři, která je Viewer Ngram, a v podstatě myšlenka Viewer Ngram je můžete vyhledávat nějaké slovo nebo fráze a uvidíte, jak často se to objevilo v určitém souboru textu v průběhu času. Tento příklad je zde tato data sada dětí kteří se narodili v New Yorku v letech 1920 a 2000. Můžeme hledat, například u názvu Jennifer, a vidíme, že pre-1960 opravdu to nebyl použit tak moc, a pak jak jsme se dostali do dalších let je to stále více používá. Můžeme také provést srovnání, takže když porovnáme Jennifer, například, Thomas, můžeme vidět Thomas byl docela převládající skrz historii, vzhledem k tomu, Jennifer je novější název. Můžeme to udělat takovou věc. Jak se tato aplikace funguje? V podstatě to funguje přes API. Jinými slovy, mají určité parametry zde. Máme parametry toho, co jsme vlastně hledá, které jsou tato jména, a pak máme několik dalších vlastností, jako osy Y a osou X. Můžete vidět, že mají několik různých možností, pokud jde o časové rozlišení používat a takové věci. Máme tyto možnosti, pokud jde o to, co vlastně chceme dat z databáze, a chceme se dostat, že data zpět nějakým užitečným způsobem. Obvykle, když jsme byli dotazování databáze přímo, že by nějak být bolest dělat protože všeho to údaje o dětská jména žije v nějakém databázi někde, a to by bylo opravdu složité mít na dotaz ručně a rozhodnout, co přesně údaje k návratu. Jinými slovy, jen o Jennifer a Thomas v tomto případě, a my jsme jen o na určité ose a všechny tohoto druhu věcí. Jak se dostaneme kolem tohoto? Kopat do tohoto API trochu víc já vám ukážu další příklad této platformy který používá mírně odlišný soubor dat. Tato datová sada, místo toho, aby dětská jména, je ve skutečnosti jen celý tisk publikace databáze Open Library, která je obrovská zdrojem texty zveřejněné během posledních 100 let, nebo tak. Myšlenka je, že jsme tuto compository o miliony a miliony textu, které můžeme nyní hledat různých slov a frází v. Zde je příklad, který se liší poněkud odlišně od předchozího příkladu Ukázal jsem vám, což je máme tyto 3 vyhledávacích dotazů, válka, válka, a francouzské slovo pro válku, která je guerre. A my hledáme do 3 různých částí celkového databáze. Jinými slovy, v tomto prvním dotazu jsme pouze vyhledávání v USA, v druhém pouze ve Velké Británii, a třetí pouze z prací publikovaných ve Francii. Vidíme některé zajímavé vzory vznikají. Například, vidíme přímo tady, které- pardon, jsem zpackal ose trochu, ale můžete vidět přímo v tomto rozsahu zde kolem občanské války je tu velký bodec v americkém vydání ale není tak velký hrot v dalších dvou, a to proto, že zřejmě americká občanská válka se děje v tomto bodě. Můžeme vidět nějaké cool věci tam, ale to, co opravdu záleží je to, jak jsme se dostali na tato data. Vezmu tě do zákulisí v této aplikaci v trochu. Pěkný trik je, pokud pracujete s webem a druhu chcete vědět co se děje v zákulisí, můžete otevřít Nástroje pro vývojáře. Budu používat Chrome vývojářské nástroje, a aby se k těm můžete udělat kontrolu, posun, J, a že vás zavede do konzole JavaScript. Existuje několik karet zde. Mohou být všichni docela užitečné za jiných okolností, ale já se starám o síti Karta teď, a já skutečně obnovit se dostat, že práci. Oh, omlouvám se. Má rád, aby náhodný příklad. Dobře, budeme li použít tento příklad místo pak. Myšlenka je, že je to API tady, a můžete vidět přesně to, co API vrací. To je to, co aplikace se vrací z API, co poslal tuto žádost. Dovolte mi, abych přiblížit trochu, a my můžeme v podstatě vidět, že je to jen řada klíčových dvojic hodnot v JSON. Jinými slovy, máme tuto HashMap tady to je mapování hodnot. Jinými slovy, je to mapování let na hodnoty. V roce 1765, co slovo, které původně hledali se používá 90 krát z 1000000, takže jsme se vrátit tento výsledek. Není to přesně to, JSON, protože máme tento malý výsledek záhlaví tady, ale všimněte si, že celý tento objekt je zde jen velikánský JSON klubíčko. Máme řadu zde, který obsahuje celou tuto prvek, a můžete vidět, že celý element končí tam, a pak máme další velký prvek že jde celou cestu až do konce, a že zde končí. Máme opravdu velkou pole s 2 objekty v něm, a každý z těchto předmětů je HashMap. Můžete vidět v rámci každé z těchto hashmaps máme mapování tohoto indexu hodnotu 0 a tato hodnota je na jinou HashMap, která je opět zmapování hodnot osa X na osu Y hodnoty. Můžete vidět JSON je trochu trochu složitější, ale celkově, je to vlastně velmi užitečné, a to je velmi snadný přístup ve srovnání s další různé formy zápisu. Pokud jde o to, co jsme vlastně odesílání dat do API dostat, Já jdu do zadní konec trochu tady. To je velká JavaScript soubor, který je uspokojení všech interakcí webové aplikace, a tak jsme se nestarají o většinu, ale my starat o některé z nich. Například, staráme se o tomto buildQuery funkci, a myšlenka této funkce je v podstatě to vypadá po stránce, zjišťuje, co chce uživatel na dotaz, jinými slovy, kontrolu těchto políček, kde jsem Input své vyhledávací termíny, kontrola odlišný Y a osa X hodnoty, které jste si vybrali a všichni takové věci, a bude to vyplivne tuto dotazu hodnotu, která pak mohu poslat pryč do API. Tento vypadá komplikovaně, a to je docela komplikované ale co budu dělat v tom, já už jsem dělal to, což je skvělé, je to, že budu se dostat konzole vytisknout přesně tuto hodnotu dotazu že to vyšle do rozhraní API. To je vlastně tady. Omlouváme se, ale dodá spoustu věcí. Ale to je to, co nás zajímá, je tento objekt přímo tady. To je dotaz objekt. Jinými slovy, je to přesně to, co webová aplikace odesílá do rozhraní API, a tak se pojďme podívat dovnitř trochu, a vidíme, máme pár hodnoty zde. Vidíme máme tento počet, typ, který je výskyty na milion slov, což je přesně to, co jsme si vybrali v ose Y tady. To je místo, kde to je pochází. Máme databáze hodnotu, což znamená, že tam je nějaký určité databáze že tyto údaje jsou bydlení, a chceme, aby přístup k datům konkrétně na rozdíl od těch zdrobnělin údajů, například. Potom je tu skupiny hodnotu, který říká, že chceme-li vyhledávat podle roku oproti jiný X hodnota osy. Pak máme metodu, která některé API bude dělat více věcí. Jinými slovy, může toto rozhraní API také vrátit jiné druhy dat, ale v tomto případě, chceme, aby mapování hodnoty osy X na ose y hodnoty. To je to, co to říká, aby dělal tam, a máme toto vyhledávání meze pole, které obsahuje 2 hodnoty. První z nich je to, co vidíme zde, což je všechny hodnoty obsažené v tomto prvním malé pole v horní části. Jinými slovy, chceme se podívat na slovo bitvě, a chceme filtrovat anglickými texty v americké literatuře. Máme v této zemi, která je USA. Máme jazyk, kterým je angličtina, takže máme všechny tyto různé části které jsou všechny říkat API přesně to, co chceme. Nevíme, jaké údaje, které jsme se vrátili ještě, ale víme, že údaje bude trvat určitou formu. Tento příklad je druh na složité straně, a vy byste nutně být pomocí rozhraní API tento komplex, ale to je ukázat vám rozsah a sílu toho, co API umí. Jinými slovy, pomocí poměrně jednoduchého dotazu systému jsme v podstatě mají vstupní pole s několika dalšími selektorů v různých místech. Dovolte mi, abych přibližování tady. Máme vstupní pole s několika různými metadat výběry, a máme osu Y a osa x výběry. Nemáme vlastně mají, že mnoho polí, a my můžeme vidět velmi snadno jsme schopni dotaz nějaký API a získat data zpět a pak ji do tohoto grafu, který je pak bude zobrazovat ve užitečným způsobem. Podívat se na další příklad, který by mohl být trochu známější na vás budeme se obrátit na Facebooku. Facebook je API se nazývá graf Facebook, av podstatě to, co to znamená, že je Facebook vidí sebe jako tento rozsáhlé databázi z mnoha různých částí, které všechny mají určité vztahy ke každému jiný. Jinými slovy, já jsem uživatel na Facebooku, tak jsem si profil, a také mám jisté přátele, a každý z nich má profil, a každý z mých přátel má zeď, která má různé připomínky na to, a každý z těchto připomínek má likes a všechny tyhle věci. Tam je mnoho různých dílů na Facebook. Je to velmi složitá API, a tam je tuny, které můžete udělat s ním, ale je to vlastně docela jednoduché na používání. Chystám se začít tím, že půjdete na graph.facebook.com / billyjanitsch, což je můj jedinečný název účtu, a vaše uživatelské jméno bude buď nějaká slova, pokud jste si vybrali to, nebo to může být jen řetězec čísel. To, co jsme se vrátit, je docela základní informace. Vidíme, že mám jméno, které je Billy, příjmení, které je Janitsch. Je tu jedinečná Facebook ID, které mám. Můžete vidět, že jsem muž, a že mám nastavení jazyka britská angličtina. Jinými slovy, vidíme velmi základní informace zde. Není to moc, ale to se nám dát představu o tom, co tam je. Můžeme to udělat totéž s Davidem Malan, například. Myslím, že jeho jméno je dmalan. Vidíme David Malan má unikátní ID. Má název, jméno, druhé jméno, příjmení. Vidíme také, že on je muž a má své sady jazyků na americkou angličtinu. Jinými slovy, vidíme docela základní informace zde. A teď, co se stane, když se snažíme vyzkoušet něco jiného? Řekněme, že mám zájem o to, co David Malan se rád na Facebooku. Můžu dělat / rád. Nyní jsme narazíte na problém. Máme nějaké chyby, která říká, že přístupový token je nutné požádat o tento zdroj. Ale pokud si myslíte, o tom, že vlastně dává smysl, protože to by bylo divné pokud byste mohli přistupovat každý část databáze Facebooku je jen z jakési jednoduché API, ne? Jinými slovy, pravděpodobně vaše informace nelze získat přístup každý, kdo chce. Tato chyba je přesně to, co to znamená. Některé API vyžadují určité oprávnění, aby se přístup k jejich datům. A ještě pokročilejší API, stejně jako Facebook jeden, bude vyžadovat určité oprávnění dělat určité věci. Vidím tyto základní informace o David Malan. Vidím, že je to muž, a že žije v USA, ale já nemůžu nic vidět minulost, která. Chcete-li získat kolem to pro teď, Facebook má tento pěkný nástroj což je graf API průzkumník, a myšlenka, že je můžete třídit z tvoří oprávnění pro sebe na základě Vaší vlastní účet a pak dívat se na věci, které se specificky váš účet může zobrazit. Například, když jsem to graph.facebook.com/billyjanitsch/likes- jejda, myslím, že budu muset znovu ověřit svůj žeton zde. Dobře. Pokud se mi to znovu, skvělé, teď vidím, že jsem si tento objekt zpět který říká, že se mi líbí bazén nudle, které jsou v kategorii Hry a hračky. Líbí se mi mrože, které jsou v kategorii Animal. Jedná se o můj skutečný Facebook rád. Jsou trochu trapné. Ale můžeme vidět data se všichni vrátili do formátu JSON. Je to docela čitelný. Jinými slovy, máme toto mapování dat na nějaký pole, a každý prvek tohoto pole je HashMap, který mapuje název jako a kategorie jako. Každý, jako má unikátní ID. Tam jsou všechny druhy různých věcí, dat, které můžeme získat, a pokud máte zájem o využití Facebook API pro CS50 závěrečného projektu nebo něco podobného, ​​že je to vlastně docela proveditelné. V podstatě, jak se dostat kolem ověřování věc je Facebook používá systém zvaný OAuth, nebo Open Authentication, a já nechci aby se do ní hned, protože OAuth nebo jiný typ ověřování tendenci se hodně liší mezi různými API, takže jsem mohl strávit dlouhou dobu jedete po každé z nich, ale oni jsou vlastně docela samozřejmý. Pokud Google Facebook API je velmi čitelný. Existuje celá spec. Například, to je dokumentace pro Facebook API, a můžete vidět, že jsem na stránce Uživatel, takže jsem se můžete dozvědět vše o různých druzích věcí které jsou k dispozici se dostat, pokud to bude dat a také různá oprávnění, které potřebuji, aby se přístup k nim. Jak jsme viděli, nepotřebujeme oprávnění k přístupu k názvu nebo pohlaví, ale za tím potřebujeme oprávnění pro většinu věcí. Tato stránka, nebo spíše, tento web vám také řekne, jak se dostat Token, aby mohli ověřit sami. Většina systémů ověřování použít nějaký tokenu kde dostanete jedinečnou hodnotu, což je opravdu dlouhá a náhodný řetězec, a že způsob, jakým se mohou sdružovat požadavek, že jste se s tebou. Jinými slovy, oni vědí, že neděláte nic podezřelého s jejich daty. Vědí přesně, co jste se dostal. Vědí také, že máte oprávnění k zobrazení těchto informací. Pokud jste provedli Facebook app a vaše aplikace má určitých uživatelů, a tito uživatelé mají možnost, že aplikace pro přístup k některé části jejich profilu, pak cokoliv API klíč nebo token, že aplikace používá budou mít přístup k údajům pro tyto uživatele. To může znít komplikovaně, ale není to tak zlé, a pokud chcete používat Facebook bych vřele doporučuji, abyste zvažte hrát si s jejich API. Je to velmi cool, a můžete dělat spoustu různých věcí s ní. Pokud uživatel poskytne vám tato oprávnění, můžete se dokonce vrátit zpět do rozhraní API a říct, že jsem ve skutečnosti chtít poslat na tohoto uživatele zdi, nebo chci nechat zveřejnit fotografii, a to je důvod, proč na novinek budete někdy dostanu ty otravné věci rčení váš přítel sledoval toto video na nějaké podivné stránky, nebo něco takového. To je proto, že aplikace byl povolen přístup k poště na jeho příslušnosti k stěně. Myšlenka celkově je Facebook API dost složité, ale i opravdu užitečné. Rozhodně stojí mimo kontrolu, pokud ještě hledáte pro konečného projektu. Další sada rozhraní API, které jsem jdu přes je CS50 API. Dovolte mi, abych přiblížíte zde. CS50 skutečně dát dohromady celou řadu rozhraní API které můžete použít pro finální projekt, nebo jen pro vše, co děláte. A oni to většinou Harvard související, a oni se liší od nabídky Huds, Například v tomto Harvard Akce API, které vám umožní přístup k seznamu různé akce, které se chystáte na na Harvardu a takové věci. A tak můžeme kliknout na některou z nich a získat spec pro to, které budete moci najít pro všechny API, a myšlenka je to vám vědět,, co konkrétně požadovat od API a jak o ně požádat. Jinými slovy, pokud chci všechny události, které se dějí zítra pak jsem se dostal do samozřejmě dát mu, že datum, které chci v určitém formátu, a B, bude to mi přesně to, co se děje, aby se ke mně. Bude se říkat Chystám se vrátit vám tento objekt JSON, nebo jako vidíte, existují různé formáty. Můžete se také vrátit data jako CSV, například. Ale přesně víte, jak tato data bude vypadat, když se dostanete zpět takže můžete očekávat, že dělat určité věci s ním. Můžeme posunout dolů a vidět, například, chceme-li dotaz API získat kalendář, pak můžeme použít tuto konkrétní adresu URL a dát mu určité parametry, které se chystáte být data, která chceme přesně. A podobně, pokud chceme data zpět v určitém formátu, pak se můžeme ptát, do výstupu dat v CSV, a to je jen další parametr, který jsme kolem na API. Spousta skvělých věcí, které se tam. Já bych určitě doporučil podívat se na CS50 API. Jdu se podívat na tohoto API potravin Harvard zejména pro trochu. Jedna věc, kterou jsem vlastně určen, je to Harvard Nomata stránky, který používá CS50 potravin API načíst Huds menu pro den. A pro lidi, rozšíření školy, Huds je jídelní servis na Harvardu. Co dostanete, je to stránka, která obsahuje všechny jídel za den, a tak můžeme vidět oběd. Máme několik různých kategorií. Máme fazole a celozrnné stanice. Máme hnědá rýže stanici. Vidíme na brunch máme tyto málo potraviny. Pokud bychom na ně kliknete, pak jsme si o nutriční údaje. Můžete vidět, je nutriční informace pro grapefruity, v případě, že jste byli zvědaví. A tak znovu, budeme nahlédnout do zadní konec sem trochu a zjistit, co přesně to dělá získat tato data. A to dopadá být skutečně velmi složité vůbec. Tento soubor vypadá trochu chaotický, ale mějte na paměti, že je to manipulace na celý web, a když jsem posunout dolů vidíme tuto změnu dat funkci. Nyní, jen aby bylo jasno, toto je psáno v CoffeeScript, což je jazyk, který jste pravděpodobně ještě neviděli. Ale je to docela čitelné, takže budu chodit přes to, jako by to bylo pseudokód. Změnit datum je funkce, která bude trvat v tomto časovém hodnoty, a je to také bude, aby se v první, které nemáme starat o tolik. Ale důležité je, že to má toto datum, a toto datum je den, který chceme požádat všechny potravin pro. A pak vidíte, máme trochu syntaxe zde, který je v podstatě analýze toto datum do čitelného formátu. Jinými slovy, API vyžaduje data v určitém formátu. Nemůžeš jen tak říct, 16.listopadu 2012 AD. To nebude vědět, co dělat s tím. To chce data v určitém formátu. Vše co děláme tady je to, že ho přesně, že formát, který je rok hodnota a pak spojovník, měsíc hodnota, další pomlčka a hodnotu data. A také, že chceme, aby údaje byly výstup JSON. Teď děláme tuto žádost AJAX, a jak jsem již zmínil, jQuery má tuto super užitečnou AJAX funkci, která vše, co potřebujete udělat, je určit několik parametrů tady dole, a to se vám zpět přesně to, co chcete. Říkáme to, že URL chceme, aby to jít je to CS50 Jídlo API, které jsme dostali od spec. Říkáme, že chceme, aby data v JSON, a že budeme jej tato data, která jsme definovali tady. To je den, kdy chceme, aby potraviny pro. A pak vše, co musíte udělat, je definovat nějaký úspěch funkcí, což je v podstatě to, co se stane, když API vrátí, aby údaje. Jinými slovy, jsme baleny až všechny parametry, které chceme, což je v tomto případě je den, který chceme, a skutečnost, že chceme v JSON, a poslali jsme ho na API, takže nyní API říká, jo, Zde jsou vaše data, jsem zpátky pro tebe. Máme úspěch funkci, což znamená, vzhledem, že API úspěšně vrátí některé údaje, co budeme dělat s tím? A ukázalo se, že vše, co udělat, je zavolat tato aktualizace funkce menu s tím, co API se vrátil, tak můžeme hledat, že a uvidíte, že všechno děláme používá spoustu nových syntaxe zde aktualizovat HTML a vložte těchto nových údajů. Co to umožňuje je, že jsme tyto šipky na obou stranách, a můžeme klepněte na tlačítko, a teď se díváme na data pro další den a opět další den, a pokaždé, když je to aktualizace, že hodnoty data a dotazování API, dostat zpět některé údaje a uvedení do areálu. Opět, můžete vidět, super, super užitečné. Tato aplikace Trvalo mi několik hodin hack společně, a mám trochu více zkušeností, samozřejmě, ale na CS50 závěrečný projekt může vypadat velmi podobně jako to. API jsou super výkonný pro množství úsilí, které oni vezmou. Poslední věc, kterou jsem jdu přes je několik dalších API obecně. Nebudu se až do nich, pokud jde o to, co dělají konkrétně, ale dám vám představu o tom, co je tam venku. 2 opravdu užitečné ty, pokud máte zájem o analýzu dat nebo vizualizace nebo něco podobného, ​​jsou Freebase a Wikipedia. Wikipedia-pravděpodobně všichni víte-je bezplatná on-line encyklopedie, a to skutečně má API, takže pokud chcete, například, získat všechny texty a články pro chobotnice můžete velmi snadno udělat. Jen říct, hej, Wikipedia API, rád bych data vrácena jako to, a rád bych jej v tomto formátu, a článek bych rád, je chobotnice, a velmi rychle to bude vám zpět tyto informace. To může být velmi užitečné, pokud chcete, aby se nějaký webu že je to lepší prohlížeč pro Wikipedii, nebo něco takového. Freebase je trochu podobná, i když je to trochu těžší, pokud jde o API. Freebase je jako Wikipedie v tom, že je to on-line encyklopedie který obsahuje spoustu a spoustu různých údajů o všech možných témat, ale to jsou uloženy v relační databázi, která je mírně odlišná od Wikipedie. Wikipedia má své články a články spojené s jinými výrobky, ale pro nejvíce se rozdělit, pokud chcete data pro chobotnice, jdete chobotnice článku, se tato data, a máte spoustu textu o chobotnic, tak to je skvělé. Freebase pracuje v mírně komplikovanější způsobem v tom, že vše se vztahuje k sobě navzájem. Jinými slovy, pokud budeme hledat chobotnice pak má spoustu kategorií s ní spojena. Například, je to zvíře, žije pod vodou, má určitou tělesnou teplotu. Nevím. A všechny z těchto kategorií jsou odkazy na další místa, kde si můžete jít vidět věci s tím stejné kategorie. Jinými slovy, chobotnice soubor dat obsahuje odkaz na soubor dat pro všechna zvířata, a že by mě nechal pohybovat v databázi opravdu rychle. To může být velmi užitečné, pokud děláte něco jako srovnání. Jinými slovy, stejně jistá věc, kterou chcete vidět co jiného to souvisí a vidět, co ještě to není vhodný. Takové věci. To může být užitečné v několika směrech. Pokud hledáte větší výzvou a být schopni dělat nějaké složitější věci Já bych zvážit podívat na Freebase API. Ale většinou, Wikipedia je velmi jednoduché místo, kam jít tak daleko, jak dostat informace. Dalším místem, které budu je podívat se na Last.fm, a já jsem vlastně jít na stránky v případě, někteří lidé nejsou obeznámeni, ale Last.fm je v podstatě hudební chutě a doporučení webové stránky. Můžete vytvořit účet. Můžete začít nahrávání hudby z hudebního přehrávače na webových stránkách, a v podstatě začne dávat vám hudební doporučení na základě toho, co budete poslouchat. Například, když jdete do svého profilu stránky tohle je moje- můžete vidět, že máte seznam naposledy poslouchal skladby. Můžete vidět celkové oblíbené umělce, všechny tyhle věci, a znovu, je tu velká API za Last.fm,  a můžete jej použít k tomu spoustu a spoustu opravdu skvělých věcí. Například, půjdu za kamarádem, který má tuto stránku Last.fm Nástroje webové stránky. To je vlastně další platforma, která je postavena na Last.fm API, a to se množství docela zajímavé věci. Pokud jsem se přihlásit do mého uživatelského jména, například, Mohu požádat ji vytvořit tag cloud, například, a co že se to udělat, je dát mi obraz všechny různé žánry a takové věci, že jsem chtěl poslouchat. Jak se to dělá tohle? Velmi podstatě to říká na Last.fm API zde je to uživatel. Chtěl bych vědět, žánr každé písně, které jsem kdy poslouchal, a můžete to udělat, že tím, že poměrně jednoduchý AJAX volání na Last.fm API. Dostanete zpět velký seznam, a pak samozřejmě některé další věci se provádí proměnit slovo mrak, ale můžete vidět celkovou je to velmi snadný přístup a velmi snadné použití. Opravdu pěkný pro řadu věcí. Myslím, že je to asi všechno, co řeknu celkově. Jedna poslední věc, kterou zmíním o API obecně je to, že budete někdy dostanete do něčeho s názvem Omezení rychlosti, a myšlenka míra omezení je nechcete zneužívat API. Jinými slovy, je to opravdu pěkné, že mnoho z těchto stránek mají API že můžete jít do a používat zdarma. Nicméně, pokud jste vydělávali miliony nebo miliardy žádostí denně, Například, pokud jste uvízl v nekonečné smyčce, která je nekonečně dotazování nějaký API a dostat zpět obrovské množství dat, samozřejmě, že to není dobré, takže to, co spousta API udělat, je se tato míra omezení funkce které říká, že je možné pouze se 1000 požadavků za den na IP adresu, nebo něco takového. A pokud děláte hodně testování a takové věci, budete někdy běh do toho, a najednou se to vypne tě a říct ne, nedám vám žádné další údaje. Co chcete udělat, je hrát podle pravidel. Chcete, aby se ujistil, že budete číst API spec opatrně. Pokud má určitá pravidla k němu připojené, jako vás může provést pouze X dotazů denně nebo můžete přistupovat pouze část databáze určitý počet dob nebo něco podobného, ​​že chcete, aby se ujistil, že se budete držet. Tak dlouho, jak budete hrát v rámci těchto pravidel, budete pravděpodobně mít opravdu pěkný čas pomocí API. Vaše celkové stánek s jídlem, je API jsou opravdu užitečné. Tam je API pro téměř všechny velké webové služby venku. Docela hodně jakákoliv část Google Tools Suite, Google Maps, Google Earth, GMail, Google Calendar, všechny ty věci mají API. Můžete je použít jak získat data ze serveru a odesílat data na server. Jinými slovy, pokud jste chtěli, aby se kalendáře aplikace, které lze aktualizovat něčí Google Calendar, je tu API pro to. Pokud chcete, aby se něco, co se děje, aby vám řekl, kde umístění určité adresy je můžete použít Google Maps API pro to. API jsou fantasticky užitečné, a jsou všude. Máte-li zájem o nějaké myšlenky, je to asi související API, které můžete použít k získání velké množství dat velmi rychle a velmi jednoduše. Pokud stále hledáte projektu, nebo pokud si jen chcete pohrát s něčím obecně, API jsou rozhodně stojí za to. Díky, a já jsem rád zodpoví všechny otázky, které jste může mít. Dobře, díky moc. [CS50.TV]