[Powered by Google Translate] [Seminaari] [Ohjelmoijan Johdatus API] [Billy Janitsch] [Harvardin yliopisto] [Tommy MacWilliam] [Tämä on CS50.] [CS50.TV] Hei kaikki, olen Billy, ja tänään aion puhua API, tai ohjelmointirajapintojen, erityisesti yhteydessä CS50 opinnäytetyöt ja että sellainen asia. Yleensä mitä API? Erittäin väljästi, se tavallaan keskellä mies, joka mahdollistaa 2 kpl ohjelmistojen kommunikoida toistensa kanssa. Se on tavallaan erittäin laajaa määritelmää, ja ei ole niin merkitystä, mitä me tarkastelemme. Mitä me todella haluamme on jonkinlainen hyödyllisiä välimaasto kommunikoida jonkinlainen tietokannan jonnekin. Tässä on kaavio, ja pohjimmiltaan ajatus on, että Olemme sovellus, ja haluamme saada tietoja tietokantaan, mutta emme halua tehdä hakuja suoraan tietokantaan. Sen sijaan haluamme mennä läpi tällaista keskellä mies, API. Ajatus siitä, että on numerot 2 ja 3 kaavion ovat molemmat olemaan erittäin monimutkainen ja sekava. Toisin sanoen, kun API on kyselemällä tietokannasta, se luultavasti menossa käyttää SQL taulukot ja kaikki tällaista tavaraa, ja olemme oppineet vähän siitä sen CS50, mutta kaiken olet huomannut, että se on hieman kipua. Se tulee hyvin, hyvin monimutkainen ja sekava, varsinkin kun teet monimutkaisia ​​kyselyitä ja että sellainen asia. Mitä me todella haluamme on jonkinlainen hyödyllisiä ja yksinkertainen tapa saada tietojen, ja se idea numerot 1 ja 4 kaaviossa. Toisin sanoen haluamme todella yksinkertainen tapa kertoa API mitä saat meille ja todella helppo tapa saada että tiedot takaisin. On yksi keskeinen keino, että tiedot on yleensä lähetettyjen ja vastaanotettujen joka on JSON tai JavaScript Object Notation. Se voi vaihdella hieman niin pitkälle kuin miten lähetät pyynnön API. Toisin sanoen, jos haluat joitakin tietty määrä dataa, miten kertoa API saada että tiedot voivat vaihdella hieman. Yleensä se liittyy tehdä jonkinlainen verkon pyynnöstä. Toisin sanoen, päästä jonkinlainen URL aikoo kertoa API mitä haluat, mutta tietoja on lähes aina lähetetään takaisin, Toisin sanoen, numero 4 JSON. Mikä on JSON tarkalleen? Kuten sanoin, JavaScript Object Notation. Se on pohjimmiltaan yleinen standardi datan lähettämistä ja vastaanottamista. Ajatuksena on, että sinulla on nämä 3 kategoriaa asioita. Sinulla on taulukot, hashmaps ja perusalkioiden. Arrays ja hashmaps olet katseli hieman vuonna CS50, mutta olet tavallaan saanut erittäin suppeassa merkityksessä, mitä ne ovat. Toisin sanoen, matriiseja tiedät että he kirjoita sidottu, niin sinulla on vain yksi sellainen tyyppi, joka menee koko jono. JSON on paljon lievempi, että sellainen asia. Periaatteessa ajatus on teille rakentaa tämän esineen, joka voi koostua minkä tahansa näistä 3 asioita ja voi koostua useista niistä niistä, ja ne voivat olla sisäkkäisiä. Tässä on eräänlainen esimerkki JSON- mikä on näiden aaltosulkeisiin tässä kuvaamaan HashMap, ja HashMap on pohjimmiltaan kartoitus jonkinlainen avaimen jonkinlainen arvo. Näet täällä, että meillä on ominaisuuksia avain, ja että on kartoittaa päälle array, joka on koko tämä juttu. Näemme toinen osa HashMap, joka on tätä näppäintä isAwesome, joka karttoja primitiivisen arvon tosi, toisin sanoen, boolean. Primitives voi olla merkkijonoja. Ne voivat olla kokonaislukuja. Ne voivat olla bools, jotain sellaista. Ja näet sisältö array että ominaisuudet pistettä on 2 jousille se, itsestään samanlaisia ​​ja ihana. Nämä ovat 2 ominaisuudet JSON, ja näemme, että JSON on mahtava. Katsomaan sitä hieman tarkemmin aion rakentaa monimutkaisempi esimerkki JSON tässä. Aloitetaan array, esimerkiksi vain tyhjä jono. Mutta se on tavallaan tylsää, joten aiomme täyttää sitä hieman, ja kuten sanoin, taulukot JSON ovat tyyppiä sidottu, jotta voisimme myös olla merkkijono täällä, mikä on hi- ja se on toinen osa, joka array. Ja samoin, voisimme lisätä hashmapping täällä, mikä tulee olemaan muutamia kuvauksia. Se tulee olemaan kartoitus nimen merkkijono Billy. Meillä kartoitus nimen Billy, ja meillä kartoitus lempiväri on sininen. Se on pohjimmiltaan hyvä esimerkki JSON. Se tavallaan joutuu-Oho, täytyy pilkku siellä-kaikki eri osat. Jälleen, se ei kirjoita sido lainkaan, joten voit olla minkäänlaista tyyppejä sisällä mitä haluat, ja ajatus on se itsestään samanlaisia. Toisin sanoen, tämä oikeus tässä JSON esine on, kuten tässä koko asia, koska on juuri tämä, niin voit olla primitiivinen olla esine, array olla esineen tai HashMap olla objekti. Kun voi sellaista nähdä, JSON on todella hyödyllinen, että se on niin monipuolinen. Voit olla mahdollisia tietoja, joita voit kuvitella tallentaa JSON. Tämä tekee siitä todella mukava kieli käyttää API koska se aika paljon sitä, että mitä tietoja haluat siellä tulee olemaan jollain tavalla saada se takaisin JSON. Muutamia ominaisuuksia, jotka tekevät JSON erityisen hyvä näissä jutuissa. Kuten näette, kun paljon asioita, että olet työskennellyt vuonna CS50 se on suhteellisen helppo lukea ja myös erittäin helppo kirjoittaa. Voit luetelmakohta sitä jos haluat, kuten tein tässä esimerkissä joka antaa sinulle mukava, kaunis versio, näet todella hyvin. Mutta lisäksi se on myös helppo lukea ja kirjoittaa tietokoneella. Toisin sanoen, se on helppo jäsentää ja helppo koodata, mikä tarkoittaa, että se on melko nopeasti niin pitkälle kuin tietojen lukemiseen on todettava, ja JSON voidaan tuottaa todella nopeasti. Se on myös erittäin helppo käyttää eri puolilla JSON ja että sellainen asia. Sepä mukavaa, ja lisäksi se, että se on itsestään samanlaisia, toisin sanoen se, että voit olla JSON sisällä JSON sisällä JSON on todella mukava tietovarastoina. Toinen osa, joka on yleensä todella hyödyllinen työskenneltäessä API on jQuery. Olet oppinut hieman JavaScript, joka on mukava tapa manipuloida HTML ja CSS sisällä verkkosivuilla. Mutta se voi sellaista olla tuskaa koodin tavallinen JavaScript, pitkälti siksi JavaScript on todella verbose kieltä. Sinun täytyy oppia paljon syntaksin, ja vain tehdä hyvin yksinkertaisia ​​asioita se vie paljon koodia, joten jQuery on kirjasto JavaScript. Toisin sanoen, se on JavaScript-tiedoston, jonka voit ladata ja sitten käyttää jQuery toimintoja tehdä tiettyjä asioita. Ja jQuery pohjimmiltaan tekee elämästä paljon helpompaa. Se yksinkertaistaa mitä vaatisi satoja rivejä JavaScript alas muutama rivi jQuery. Se on erityisen hyödyllinen, jos käytät API koska yleensä miten voit olla pääsy API on tekemällä AJAX pyyntöjä, ja uskon David on mainittu luento, AJAX pyynnöt ovat yleensä kun teet verkko pyynnön jonkinlainen palvelimen ja saada takaisin jonkinlainen tietoja ja päivittää sivun välittömästi. Taas tavallinen JavaScriptiä veisi hullu määrä rivejä vahvistaa kaikki otsikot ja tehdä kaikki tällaista tavaraa, jQuery on todella yksinkertainen toiminto nimeltään AJAX, ja kaikki sinun täytyy tehdä AJAX on antaa parametrit haluat antaa API sijainnin API ja muita sellaista vaihtoehtoa, jonka haluat määrittää. Se on todella, todella mukava ja erittäin hyödyllinen tällaista asiaa. Siinä kaikki meidän alkaa saada kätemme likainen API. Aion tuoda esille muutamia esimerkkejä ja tutkia niiden eri ominaisuuksia ja miksi ne ovat hyödyllisiä erilaisiin asioihin. Ensimmäinen asia, minä itse näytän sinulle on jotain, että olen työskennellyt minun Research Lab, joka on Ngram Viewer, ja pohjimmiltaan ajatusta Ngram Viewer on voit etsiä jonkinlaista sanan tai lause ja miten usein se ilmestyi tietty joukko tekstin ajan. Tämä esimerkki on tämä tieto joukko vauvoja jotka syntyivät New Yorkissa 1920 ja 2000. Voimme etsiä, esimerkiksi, nimeä Jennifer, ja me näemme, että pre-1960 se todellakaan ole käytetty kovin paljon, ja sitten kun pääsemme myöhempinä vuosina se on yhä käytetään yhä enemmän. Voimme myös tehdä vertailuja, joten jos vertaamme Jennifer, esimerkiksi, Thomas, näemme Thomas on ollut melko yleisiä koko historian, katsoo Jennifer on uudempi nimi. Voimme tehdä että sellainen asia. Miten tämä sovellus toimii? Periaatteessa se toimii kautta API. Toisin sanoen, meillä on tiettyjä parametreja tässä. Meillä parametrit mitä me todella etsivät, jotka ovat nämä nimet, ja sitten meillä on muutamia muita ominaisuuksia, kuten Y-akselin ja X-akselilla. Näet meillä on muutama eri vaihtoehtoja niin pitkälle kuin aikaresoluutioon käyttää ja että sellainen asia. Meillä on nämä vaihtoehdot niin pitkälle kuin mitä tietoja me todella haluamme tietokannasta, ja haluamme saada että tiedot takaisin jollakin hyödyllisellä tavalla. Tavallisesti jos olisimme kysely suoraan tietokantaan olisi tavallaan olla tuskaa tehdä koska oletettavasti tämä tietoa vauvan nimiä asuu joissakin tietokantaan jonnekin, ja se olisi todella monimutkaista on kyselyn sen manuaalisesti ja päättää, mitä tietoja palata. Toisin sanoen, me vain välitä Jennifer ja Thomas tässä tapauksessa, ja me vain välitä tietyllä akselilla ja kaikki tällaista tavaraa. Miten kiertää tämän? Kaivaa tämä API hieman näytän teille toisen esimerkin tämän foorumin joka käyttää hieman eri tietokokonaisuutta. Tämä tietokokonaisuus, sen sijaan että vauvan nimiä, on oikeastaan ​​vain koko tulostaa julkaisun tietokanta Open Library, mikä on jättiläinen lähde julkaistut tekstit koko viime 100 tai niin vuotta. Ajatus on, että meillä on tämä compository miljoonia ja miljoonia tekstiä, jonka voimme nyt etsiä eri sanoja ja lauseita sisään Tässä esimerkki, joka vaihtelee hieman eri edellisen esimerkin Näytin teille, mikä on meillä nämä 3 hakuja, sota, sota, ja Ranskan sana sota, joka on guerre. Ja me etsit vajaan 3 eri osissa koko tietokannan. Toisin sanoen, tässä ensimmäisessä kyselyssä olemme vain etsivät Yhdysvalloissa, on toinen vain Isossa-Britanniassa, ja kolmas vain teoksiin Ranskassa. Näemme mielenkiintoisia kuvioita syntyy. Esimerkiksi näemme oikeus täällä joka- Oho, olen sekaisin akselia hieman, mutta voit nähdä oikeassa tällä alueella täällä ympärillä sisällissota siellä iso piikki Amerikan painos , mutta ei niin iso piikki kaksi muuta, ja se on ilmeisesti siitä syystä, American Civil War tapahtui tuolloin. Voimme nähdä hienoja juttuja siellä, mutta mitä me oikeastaan ​​välitä miten saimme tämän tiedon. Vien sinut kulissien taakse tämän app hieman. Siisti temppu on, jos olet työskennellyt sivuston ja millaisia ​​haluavat tietää mitä tapahtuu kulissien takana, voit avata kehitystyökalut. Aion käyttää Chromen kehittäjä työkaluja ja saada niihin voit tehdä ohjaus, muutos, J, ja joka vie sinut JavaScript-konsoli. On olemassa muutamia välilehtiä tässä. Ne voivat kaikki olla melko hyödyllinen eri olosuhteissa, mutta minä välitän verkon välilehti nyt, ja olen oikeastaan ​​tarvitse päivittää saada se työ. Anteeksi. Se haluaa antaa satunnainen esimerkki. Okei, käytämme tässä esimerkissä sijaan sitten. Ajatuksena on siellä tällä API täällä, ja näet mitä API on palaamassa. Tämä on mitä sovellus on tulossa takaisin API on lähettänyt tämän pyynnön. Saanen suurentaa hieman, ja voimme periaatteessa nähdä se on vain joukko keskeisiä arvo-pareista JSON. Toisin sanoen, meillä on tämä HashMap täällä on kartoitus arvoja. Toisin sanoen, se on kartoitus vuotta arvoja. Vuonna 1765 mitä sana me aluksi etsitään käytetään 90 kertaa yhteensä 1 miljoonaa euroa, joten olemme pääsemässä takaisin tämän tuloksen. Se ei ole aivan JSON koska meillä on tämä pieni tuloksen otsikon täällä, mutta huomaa, että tämä koko kohde tässä on vain iso JSON möykky. Meillä on joukko täällä joka sisältää tämän koko elementti, ja voit nähdä, että koko elementti päättyy sinne, ja sitten meillä on toinen suuri tekijä että menee kaikki alas loppuun, ja se päättyy tähän. Meillä on todella iso array kanssa 2 esineitä siinä, ja jokaisen näistä kohteista on HashMap. Näet Kuhunkin hashmaps meillä kartoitus Tämän indeksin arvoksi 0 ja tämä arvo arvo toiseen HashMap, joka taas on kartoittaa X-akselin arvot Y-akselin arvot. Näet JSON saa hieman monimutkaiselta, mutta kaiken se on oikeastaan ​​erittäin hyödyllinen, ja se on erittäin helppo käyttää kuin muut eri merkintää. Sikäli kuin mitä me todella lähettävät dataa API saada, Aion mennä takaisin pää vähän täällä. Tämä on iso JavaScript-tiedoston käsittelyssä kaikki vuorovaikutukset web app, joten emme välitä useimmat tämän, mutta me välitämme osa siitä. Esimerkiksi välitämme tästä buildQuery toiminto, ja ajatus tämä toiminto on pohjimmiltaan se katselee ympärilleen sivulla mietitään, mitä käyttäjä haluaa kyselyn, toisin sanoen, tarkistaa ne laatikot, joissa he ovat tulo heidän hakutermejä, tarkkailun eri Y ja X-akselin arvot he ovat valinneet ja kaikki että sellainen asia, ja se tulee sylkemään tämän kyselyn arvoa, jonka voin lähettää pois API. Tämä vaikuttaa monimutkaiselta, ja se on melko monimutkainen mutta mitä aion tehdä, itseasiassa olen jo näin, mikä on hyvä, että aion saada konsoli tulostaa tarkasti, että kyselyn arvoa että se lähettää pois API. Se on oikeastaan ​​täällä. Anteeksi, se tuottaa paljon asioita. Mutta tämä on mitä me välitämme, tämä esine täällä. Tämä on kyselyn kohteena. Toisin sanoen, tämä on juuri sitä, mitä web-sovellus on lähettää API, joten katsotaanpa sisällä hieman, ja näemme meillä on muutamia arvoja tästä. Näemme meillä on tämä count tyyppi, joka on tapahtumien per miljoona sanaa, joka on juuri olemme valinneet Y-akselilla tänne. Siellä se on lähtöisin. Meillä on tietokanta-arvo, mikä tarkoittaa, että on olemassa joitakin tiettyjä tietokantaan että tämä tieto on elää, ja haluamme päästä, että tietoja erityisesti toisin kuin vauvan nimiä tiedot, esimerkiksi. Sitten meillä on tämä ryhmiä arvoa, joka sanoo, että haluamme etsiä vuoteen verrattuna kaikki muut X-akselin arvo. Sitten meillä on menetelmä, jonka jotkut API tekevät useita asioita. Toisin sanoen, tämä API voi myös palauttaa muunlaisia ​​tietoja, mutta tässä tapauksessa, haluamme että kartoitus X-akselin arvot Y-akselin arvot. Sitä se kertoo sen tehdä siellä, ja meillä on tämä haku rajoja array, joka sisältää 2 arvoja. Ensimmäinen on se, mitä näemme täällä, mikä on kaikkien arvojen sisällä että ensin pienen laatikon yläreunassa. Toisin sanoen haluamme etsiä sanan taisteluun, ja haluamme suodattaa sen by Englanti tekstien sisällä amerikkalaisessa kirjallisuudessa. Meillä on tässä maassa, joka on USA. Meillä on kieli, joka on Englanti, joten meillä on kaikki nämä eri osat että kaikki kertovat API mitä me haluamme. Emme tiedä, mitä tietoja, että saamme takaisin on vielä mutta me tiedämme, että data vie tietyssä muodossa. Tämä esimerkki on tavallaan päällä monimutkaisia ​​puolella, ja et välttämättä käyttää API tätä monimutkaista, mutta tämä on näyttää sinulle valikoiman ja tehoa mitä API voi tehdä. Toisin sanoen, käyttäen suhteellisen yksinkertaista tietojenhakujärjestelmä meillä periaatteessa on kirjoitusruutu kanssa muutamia muita valitsimia eri paikoissa. Saanen zoomata takaisin tänne. Meillä kirjoitusruutu muutamaa eri metatietoja valintoja, ja meillä on Y-akselin ja X-akselin valinnat. Meillä ei oikeastaan ​​ole, että monilla aloilla, ja voimme nähdä helposti pystymme kyselyn jonkinlainen API ja saada tiedot takaisin, ja sitten laittaa se tähän kaavioon, joka on sitten menossa näyttämään sitä hyödyllisellä tavalla. Voit katsoa toisen esimerkin, joka voisi olla hieman tutulta kaverit aiomme kääntyä Facebookiin. Facebook API kutsutaan Facebook Graph- ja pohjimmiltaan mitä se tarkoittaa on Facebook näkee itsensä tämän massiivisen tietokannan Erien eri osien, että kaikilla on tietyt suhteet toisiinsa. Toisin sanoen, olen käyttäjä Facebookissa, joten minulla on profiili, ja minulla on myös tiettyjä ystäviä, ja jokainen niistä on profiili, ja kukin ystäväni on seinä, joka on eri kommentteja se, ja jokainen näistä huomioista on tykkää ja kaikki että sellainen asia. On paljon eri osien Facebookiin. Se on erittäin monimutkainen API, ja siellä tonnia voit tehdä sen, mutta se on oikeastaan ​​aika yksinkertainen käyttää. Aion aloittaa menemällä graph.facebook.com / billyjanitsch, mikä on minun yksilöllinen käyttäjätunnus ja tilin nimi joko jonkinlainen sana, jos olet valinnut sen, tai se voi olla juuri numerosarjan. Mitä saamme takaisin on melko perustiedot. Näemme, että minulla on etunimi, joka on Billy, sukunimi, joka on Janitsch. On ainutlaatuinen Facebook ID jotka olen. Voit nähdä, että olen mies ja minulla on kieliasetusta British Englanti. Toisin sanoen, me näemme hyvin perus tietoa täältä. Se ei ole liikaa, mutta se antaa meille käsityksen siitä, mitä on olemassa. Voimme tehdä sama asia David Malan, esimerkiksi. Mielestäni hänen nimensä on dmalan. Näemme David Malan on yksilöllinen tunnus. Hänellä on nimi, etunimi, toinen nimi, sukunimi. Näemme myös, että hän on mies ja hänellä on kieli asetettu US Englanti. Toisin sanoen, me näemme melko perus tietoa täältä. Nyt, mitä tapahtuu, jos yritämme tarkistaa jotain muuta? Sanotaan olen kiinnostunut siitä, mitä David Malan on halunnut Facebookissa. Voin tehdä / tykkää. Nyt olemme törmätä ongelmaan. Meillä jonkinlainen virhe, joka sanoo käyttöoikeustunnukseksi on pyydettävä tätä resurssia. Mutta jos ajattelee sitä, että todella järkevää, koska se olisi outoa jos voisit käyttää joka ikinen osa Facebookin tietokannasta pelkästään jonkinlaista yksinkertaista API, eikö? Toisin sanoen, oletettavasti sinun tietoja ei voi käyttää kuka tahansa, joka haluaa sitä. Tämä virhe on juuri mitä se tarkoittaa. Jotkut API vaativat tiettyjä käyttöoikeuksia voidakseen tutustua omiin tietoihinsa. Ja vielä kehittynyt API, kuten Facebook-yksi, edellyttää tiettyjä oikeuksia tehdä tiettyjä asioita. Näen tämän perustietoa David Malan. Voin nähdä, että hän on mies ja että hän asuu Yhdysvalloissa, mutta en todellakaan näe mitään menneisyyteen. Voit kiertää tämän nyt, Facebook on tämä hieno työkalu joka on kuvaaja API tutkimusmatkailija, ja ajatus siitä, että on voi tavallaan muodostavat käyttöoikeudet itsellesi perustuu sinun omaan ja sitten katsella asioita, jotka nimenomaan tilin voi katsella. Esimerkiksi, jos en graph.facebook.com/billyjanitsch/likes- Oho, kai täytyy uusimiseen minun token täällä. Okei. Jos teen sen taas, suuri, nyt näen, että saan tämän esineen takaisin jonka mukaan pidän allas nuudelit, jotka ovat luokassa Pelit ja lelut. Pidän mursut, jotka ovat luokassa Animal. Nämä ovat minun todellisia Facebook tykkää. He tavallaan kiusallista. Mutta voimme nähdä nämä tiedot kaikille palautetaan JSON. Se on melko luettavissa. Toisin sanoen, meillä on tämä kartoitus tietojen jonkinlainen array, ja kukin osa tätä array on HashMap, joka kuvaa nimi kuvaus ja luokka, kuten. Jokaisessa kuin on yksilöllinen tunnus. On kaikenlaisia ​​eri asioita tietoja saamme, ja jos olet kiinnostunut käyttämään Facebook API CS50 opinnäytetyön tai mitään sellaista, että se on oikeastaan ​​aika toteutettavissa. Pohjimmiltaan miten kiertää autentikointi asia on Facebook käyttää järjestelmää kutsutaan OAuth tai Open Authentication, enkä halua mennä sen nyt, koska OAuth tai eri tyyppiä todistusvoimaiseksi taipumus vaihdella paljon eri API, joten voisin viettää aikaa menee yli jokainen, mutta he oikeastaan ​​aika itsestäänselviä. Jos Google Facebook API on hyvin luettavissa. On koko spec. Esimerkiksi tämä on asiakirjat Facebook API, ja näet olen Käyttäjän sivulla, joten voin oppia kaikki eri asioita , jotka ovat käytettävissä niin pitkälle kuin data ja myös erilaiset käyttöoikeudet minun voidakseen käyttää niitä. Kuten näimme, meidän ei tarvitse lupaa käyttää nimeä tai sukupuoli- Mutta sen jälkeen me tarvitsemme käyttöoikeudet useimmat asiat. Tällä sivulla, tai pikemminkin, tämä sivusto kertoo myös, miten saat token pystyä todentamaan itsesi. Useimmat todennus järjestelmät käyttävät jonkinlaista symbolista jos saat tätä ainutlaatuista arvoa, joka on todella pitkä ja satunnainen merkkijono, ja näin he voivat liittää pyynnön, että teet kanssasi. Toisin sanoen, he tietävät, että et tee mitään epäilyttävää tietonsa. He tietävät tarkalleen mitä saat. He tietävät myös, että sinulla on lupa tarkastella näitä tietoja. Jos olet tehnyt Facebook-sovellus ja App on tiettyjä käyttäjiä, sekä ne käyttäjät ovat sallineet, että sovellus käyttää tiettyjä osia niiden profiilin, Sitten mitä API-avain tai token että sovellus käyttää voi käyttää tietoja niille käyttäjille. Tämä saattaa kuulostaa monimutkaiselta, mutta se ei ole liian huono, ja jos haluat käyttää Facebook Olisin erittäin suositeltavaa, että pitävät leikkimisestä heidän API. Se on hyvin viileä, ja voit tehdä paljon erilaisia ​​asioita sen kanssa. Jos käyttäjä antaa teille nämä oikeudet, voit jopa palata API ja sanoa haluan todella lähettää tämän käyttäjän seinä tai haluan ne lähettää valokuvan, ja siksi teidän uutissyöte voit joskus niitä harmittaa asiat sanonta ystäväsi on nähnyt tämän videon jonkinlainen outo sivuston tai jotain. Tämä johtuu siitä, että sovellus on myönnetty oikeutta lähettää kyseisen henkilön seinällä. Ajatus kaiken Facebook API on melko monimutkainen, mutta myös todella hyödyllinen. Ehdottomasti kannattaa tsekata, jos olet vielä etsimässä opinnäytetyön. Toinen sarja API aion mennä yli on CS50 API. Saanen zoomata tänne. CS50 on todella koonnut koko joukon API että voit käyttää opinnäytetyön tai vain jotain, että teet. Ja he enimmäkseen Harvard liittyviä, ja ne vaihtelevat Huds valikosta, Esimerkiksi tähän Harvard Tapahtumat API, jonka avulla voit avata luettelon erilaisia ​​tapahtumia, jotka ovat menossa Harvardin ja sen sellaista. Ja niin voimme napsauttaa mitä tahansa näistä ja saada spec sitä, jonka voit löytää mistään API ja idea on sen avulla tiedät, erityisesti mitä pyytää API ja miten pyytää sitä. Toisin sanoen, jos haluan kaikki tapahtumat, jotka tapahtuvat huomenna sitten täytyy tietenkin antaa se, että päivämäärän että haluan tietyssä muodossa, ja B, se kertoo minulle, mitä se tulee antamaan takaisin minulle. Se sano aion palata teille tämän JSON esine, tai kuten näette, on olemassa eri muodoissa. Voit myös palauttaa tiedot CSV, esimerkiksi. Mutta tiedät tarkalleen miten tiedot on menossa katsomaan kun saat sen takaisin joten voit odottaa tehdä tiettyjä asioita sen kanssa. Voimme vierittää alaspäin ja katso, jos esimerkiksi haluamme kysyä API saada kalenterin, voimme käyttää tätä erityistä URL ja antaa sille tiettyjä parametreja, jotka aiotaan tietoja, että haluamme juuri. Ja samoin, jos haluamme tiedot takaisin tietyssä muodossa, Sitten voimme kysyä sitä ulos tietoja CSV, ja se on vain yksi parametri, että olemme ohimennen API. Paljon hienoja asioita siellä. Haluan ehdottomasti suositella tsekata CS50 API. Aion tarkastella tätä Harvardin Food API erityisesti vähän. Yksi asia, jonka olen itse suunnitellut tämä Harvardin noms sivustolla, joka käyttää CS50 Food API noutaa Huds valikko päivä. Ja laajentamista koulu ihmisille, Huds on ruokailutila palvelu Harvardin. Mitä saat on tämä sivu, joka sisältää kaikki ateriat päivän, joten näemme lounaan. Meillä on muutama eri. Meillä on papu ja täysjyväviljaa asemalle. Meillä on ruskea riisi asemalle. Voimme nähdä brunssi meillä on näitä muutamia elintarvikkeita. Jos me sitten niitä, niin saamme ravitsemus tietoa. Näet tämän on ravitsemus tietoa greippi, jos mietit. Ja niin taas aiomme kurkistaa loppupäätä tässä hieman ja katso, mitä tämä tekee saada näitä tietoja. Ja se osoittautuu ei oikeastaan ​​olla kovin monimutkaista lainkaan. Tämä tiedosto näyttää hieman sotkuinen, mutta pitää muistaa, että tämä käsittelee koko sivuston, ja jos minä selaa näemme tämän muutoksen tiedot toiminto. Nyt, vain olla selkeä, tämä on kirjoitettu CoffeeScript, mikä on kieli, joka luultavasti ole ennen nähty. Mutta ihan luettavia, joten Kävelen läpi ikään kuin se olisi pseudokoodilla. Muuta päivämäärä on toiminto, joka tulee viemään tämän päivämäärän arvo, ja se myös aikoo ryhtyä ensimmäinen, josta meillä ei välitä niin paljon. Mutta tärkeintä on, että se on tähän päivämäärään mennessä, ja tämä päivä on päivä, että haluamme pyytää kaikkia elintarvikkeita varten. Ja sitten näet meillä hieman syntaksin täällä, joka on pohjimmiltaan jäsentämiseen kyseisestä päivämäärästä osaksi luettavaan muotoon. Toisin sanoen, API vaatii päivämäärä tietyssä muodossa. Et voi vain sanoa 16 marraskuu 2012 jKr. Se ei tiedä mitä tehdä sen kanssa. Se haluaa päivämäärä tietyssä muodossa. Kaikki me teemme täällä antaa se juuri tätä muotoa, joka on vuosi arvo ja sitten väliviiva, kuukausi-arvo, toinen tavuviiva ja päivämäärän arvo. Ja sanomme haluamme tiedot ovat tuotoksen JSON. Nyt Teemme tätä AJAX pyynnön, ja kuten mainitsin aiemmin, jQuery on tämä erittäin hyödyllinen AJAX-toiminto, jossa kaikki sinun tarvitsee vain määrittää muutamia parametreja täällä, ja se antaa sinulle takaisin mitä haluat. Kerromme siitä, että URL haluamme mennä tämä CS50 Ruoka API, jotka saimme spec. Sanomme, että haluamme tiedot JSON ja että aiomme antaa sen tämän tietojen olemme määritelleet täällä. Tämä on päivä haluamme elintarvikkeita varten. Ja sitten meidän täytyy tehdä, on määritellä jonkinlainen menestys toiminto, joka on pohjimmiltaan mitä tapahtuu, kun API palauttaa tietoihin. Toisin sanoen, olemme pakattu ylös kaikki parametrit haluamme, joka tässä tapauksessa on päivä, että me haluamme sitä ja että haluamme sen JSON, ja lähetimme sen pois API joten nyt API sanoo, okei, täällä tietosi, sain sen takaisin sinulle. Meillä on menestystä toiminto, mikä tarkoittaa sitä, että koska API onnistuneesti palauttaa joitakin tietoja, mitä teemme sen? Ja näyttää siltä, ​​että kaikki mitä teemme on kutsua tämän päivityksen valikkotoiminnon kanssa mitä API on palannut, joten voimme etsiä että ja katso, että kaikki teemme käyttää joukko uusia syntaksin täällä päivittää HTML ja lisätä tämän uuden tiedon. Mitä tämä mahdollistaa on meillä nämä nuolet molemmin puolin, ja voimme sitten, ja nyt me tarkastelemme tiedot seuraavana päivänä ja jälleen seuraavana päivänä, ja joka kerta se päivittää tämän päivämäärän arvo ja hakujen API, saada takaisin joitakin tietoja ja laitat sen sivuston. Jälleen, voit nähdä, super, super hyödyllinen. Tämä sovellus vei minut muutaman tunnin hakata yhteen, ja minulla on hieman enemmän kokemusta, tietenkin, mutta CS50 opinnäytetyön voi etsiä jotain hyvin paljon tästä. API ovat super voimakas verran vaivaa, että he ottavat. Viimeinen asia aion mennä yli on muutamia API laajasti. En päästä niin pitkälle niitä niin paljon kuin mitä he tekevät erityisesti mutta minä annan sinulle käsityksen siitä, mitä siellä on. 2 todella hyödyllinen ne, jos olet kiinnostunut tietojen analysoinnin tai visualisointi tai mitään sellaista, ovat Freebase ja Wikipedia. Wikipedia-oletettavasti te kaikki tiedätte, on ilmainen online-tietosanakirja, ja se todella on API, joten jos haluat esimerkiksi saada kaikki tekstit ja artikkelit mustekala Voit helposti tehdä. Vain sanoa hei, Wikipedia API, haluaisin tiedot palautetaan tämän ja haluaisin sen tässä muodossa, ja artikkelissa haluaisin on mustekala, ja hyvin nopeasti se antaa sinulle takaisin, että tiedot. Se voi olla todella hyödyllistä, jos haluat tehdä jonkinlaisen sivuston se parempi katselin Wikipediasta tai jotain. Freebase on tavallaan samanlainen, vaikka se on hieman vaikeampaa asti API. Freebase on kuin Wikipedia, että se on online-tietosanakirja joka sisältää paljon ja paljon erilaisia ​​tietoja kaikenlaisia ​​erilaisia ​​aiheita, mutta se on tallennettuna relaatiotietokantaan, joka on hieman erilainen kuin Wikipedia. Wikipedia on sen artikkeleissa liittyviä muita artikkeleita, mutta suurin osa, jos haluat tietoja mustekala, menet mustekala artikkelin, saada, että tiedot, ja sinulla on nippu tekstin noin mustekaloja, joten on hienoa. Freebaseen toimii hieman monimutkaisempi tavalla siten, että kaikki on sukua toisilleen. Toisin sanoen, jos etsit Meritursaan sitten se on joukko luokkiin liittyy siihen. Esimerkiksi, se on eläin, se elää vedenalainen, sillä on tietty kehon lämpötilaa. En tiedä. Ja kaikki nämä luokat ovat linkkejä muihin paikkoihin, joissa voit mennä näkemään asioita, jotka samaan luokkaan. Toisin sanoen, mustekala tietokokonaisuus sisältäisi linkin tietoihin asettaa kaikki eläimet, ja että antaisi minun liikkua tietokannassa todella nopeasti. Tämä voi olla erittäin hyödyllistä, jos teet jotain vertailuja. Toisin sanoen, koska tietty asia, jonka haluat nähdä mitä muuta se liittyy ja mitä muuta se ei liity. Että sellainen asia. Se voi olla hyödyllinen useissa eri tavoin. Jos etsit enemmän haastetta ja pystyä tekemään joitakin monimutkaisempia asioita Pitäisin vilkaisemalla Freebase API. Mutta enimmäkseen, Wikipedia on hyvin yksinkertainen paikka mennä niin pitkälle kuin saada tietoa. Toinen paikka, että minä katson on Last.fm, ja olen todella mennä sivuston jos jotkut ihmiset eivät ole tuttuja, mutta Last.fm on pohjimmiltaan musiikkia makuja ja suositukset verkkosivuilla. Voit tehdä tilin. Voit aloittaa lataamisen musiikkia musiikkisoitin verkkosivuilla, ja pohjimmiltaan se alkaa antaa sinulle musiikkia suosituksia perusteella, mitä kuuntelet. Esimerkiksi, jos menet profiiliisi sivulle-tämä on minun- näet sinulla luettelo viimeksi kuunnellut kappaleet. Näet yleinen suosikki taiteilijoita, kaikki että sellainen asia, ja taas, siellä on iso API takana Last.fm,  ja voit käyttää sitä tehdä paljon ja paljon todella hienoja asioita. Esimerkiksi lähden kaverin sivu, joka on tämän Last.fm Tools verkkosivuilla. Tämä on itse asiassa toinen foorumi, joka on rakennettu Last.fm API, ja se määrää melko mielenkiintoisia asioita. Jos minä kirjaudu sisään minun käyttäjätunnus, esimerkiksi Voin pyytää sitä tuottaa tunnisteiden, esimerkiksi ja mitä se aikoo tehdä, on antaa minulle takaisin kuva kaikki eri genrejä ja että sellainen asia, että haluan kuunnella. Miten se tekee tämän? Erittäin pohjimmiltaan se sanoi Last.fm API tässä tämän käyttäjän. Haluaisin tietää lajityypin jokaisen kappaleen he ikinä kuunnellut, ja voit tehdä sen tekemällä melko yksinkertainen AJAX puhelu Last.fm API. Saat takaisin ison listan, ja sitten ilmeisesti joitakin muita juttuja tehdään tehdä siitä sana pilvi, mutta voit nähdä yleistä se on erittäin helppo käyttää ja erittäin helppokäyttöinen. Todella mukava joukko asioita. Luulen, että kaikki mitä sanon yleistä. Viimeinen asia minä mainitsen siitä API yleensä on, että voit joskus törmätä jotain kutsutaan nopeutta rajoittava, ja ajatus nopeutta rajoittava ei et halua väärin API. Toisin sanoen, se on todella mukavaa, että monet näistä sivustoista on API että voit mennä ja käyttää ilmaiseksi. Kuitenkin, jos teet miljoonia tai miljardeja lukupyyntöä, Esimerkiksi, jos olet jumissa loputon silmukka, joka on äärettömän kysely jonkinlainen API ja saada takaisin valtava määrä tietoa, ilmeisesti se ei ole hyvä, niin mitä monet API tehdä, on olla tämä nopeutta rajoittava ominaisuus joka sanoo voit vain tehdä 1000 vierailua päivässä per IP-osoite tai jotain. Ja jos teet paljon testausta ja että sellainen asia, voit joskus törmätä, että ja yhtäkkiä se sammuttaa sinut ja sanoa ei, En anna sinulle enempää tietoja. Mitä haluat tehdä, on pelata sääntöjä. Haluat varmistaa, että olet lukenut API spec huolellisesti. Jos se on tiettyjä sääntöjä kiinnitetty siihen, kuten voit vain tehdä X kyselyt päivässä tai voit käyttää vain osaa tietokannasta tietyn määrän kertoja tai jotain, että haluat varmasti kiinni. Niin kauan kuin pelaat kuluessa näiden sääntöjen luultavasti on todella hauskaa käyttämällä API. Yleistä takeaway on API on todella hyödyllinen. On API lähes mitään suuria verkkopalvelun siellä. Melkeinpä mikä osa Googlen Tools Suite, Google Maps, Google Earth, GMail, Google Calendar, kaikki nuo asiat ovat API. Voit käyttää niitä sekä saada tietoja palvelimelta ja lähettää tiedot palvelimelle. Toisin sanoen, jos halusi tehdä kalenterin sovellus, joka voi päivittää joku Google Calendar, siellä API siitä. Jos haluat tehdä jotain, joka tulee kertoa minne sijainnin tietty osoite on voit käyttää Google Maps API siitä. API ovat uskomattoman hyödyllisiä, ja ne ovat kaikkialla. Jos olet kiinnostunut jonkinlainen idea, on luultavasti liittyviä API, jonka avulla voit saada paljon tietoa hyvin nopeasti ja helposti. Jos olet vielä etsimässä hankkeen tai jos haluat vain leikkiä jotain yleisesti, API ovat ehdottomasti kannattaa tehdä. Kiitos, ja olen iloinen voidessani vastata kaikkiin kysymyksiin, joita teillä saattaa olla. Okei, kiitos paljon. [CS50.TV]