[Powered by Google Translate] [Seminar] [Uvod programer za API] [Billy Janitsch] [Harvard University] [Tommy MacWilliam] [To je CS50.] [CS50.TV] Pozdravljeni vsi, jaz sem Billy, in danes bom govoril o API-jev, ali vmesnikov za programiranje aplikacij, zlasti v okviru CS50 končnih projektov in take stvari. Na splošno, kaj je API? V zelo široko, to je neke vrste srednji človek, ki omogoča 2 kosa programske opreme za medsebojno komunikacijo. To je neke vrste zelo široke opredelitve in ni, da je to pomembno za tisto, kar smo iskali na. Kaj si resnično želimo, je neke vrste uporabne, ker srednjega komunicirati z neke vrste podatkovne baze nekje. Tukaj je karta, in v bistvu gre za to, da smo vloga, in želimo, da bi dobili podatke iz zbirke podatkov, vendar ne želimo, da zbirko podatkov neposredno. Namesto tega želimo iti skozi tovrstne srednji človek, je API. Ideja, da je številka 2 in 3 na grafikonu sta bo zelo zapleten in neurejen. Z drugimi besedami, ko je poizvedovanje API baze podatkov, to je verjetno, da bo lahko z uporabo SQL tabele in vse te vrste stvari, in smo se naučili nekaj o tem v CS50, vendar na splošno, ste opazili, da je malo bolečine. To postane zelo, zelo zapleten in neurejen, še posebej, če delate kompleksna vprašanja in da se takšne stvari. Kaj si resnično želimo, je nekakšen uporaben in enostaven način , da bi dobili te podatke, in to je ideja, številke 1 in 4 na grafikonu. Z drugimi besedami, želimo resnično preprost način povedati, da API, kaj bi dobili za nas in zelo preprost način, da bi dobili podatke nazaj. Obstaja ena glavna način, da se take podatke običajno poslanih in prejetih ki je JSON, ali zapis JavaScript Object. To se lahko razlikujejo malo, kolikor je kako poslati zahtevek za API. Z drugimi besedami, če hočeš nekaj določeno količino podatkov, kako povedati API, da bi dobili, da se podatki lahko razlikujejo malo. Ponavadi gre za izdelavo neke vrste prošnjo omrežja. Z drugimi besedami, dostop do neke vrste URL, ki se bo povedal API točno tisto, kar želite, vendar podatki, je skoraj vedno pošljejo nazaj, z drugimi besedami, številka 4 v JSON. Kaj je JSON točno? Kot sem rekel, JavaScript Object Notation. To je v bistvu univerzalni standard za pošiljanje in prejemanje podatkov. Ideja je, da imate te 3 vrste stvari. Imate nize, hashmaps in primitivcev. Polja in hashmaps si pogledal malo v CS50, ampak si nekako prišel zelo strog čut za to, kar so. Z drugimi besedami, z nizi veste, da oni tip omejeni, tako da imate samo eno vrsto tipa, ki gre skozi celoten niz. JSON je veliko bolj prizanesljiva z take stvari. V bistvu ideja je, da zgraditi ta objekt, , ki je lahko sestavljena iz katerega koli od teh 3 stvari in je lahko sestavljena iz več tiste od njih, in jih je mogoče gnezditi. Tukaj je vrsta primer JSON, ki je te Zaviti oklepaji tu predstavljajo svoje HashMap, in HashMap je v bistvu preslikava iz nekakšnega ključa do neke vrednosti. Boste videli, da tu imamo lastnosti ključa, in da je kartiranje na paleto, ki je vsa ta stvar. Bomo videli še en element HashMap, ki je to ključnega pomena, isAwesome ki zemljevide enostavne prave vrednosti, z drugimi besedami, boolean. Primitivnih lahko strune. Lahko so cela števila. Lahko so bools, kaj podobnega. In vidite vsebino tega polja, ki kaže na lastnosti ima 2 niza v njem, self-podobna in čudovito. To so lastnosti JSON 2, in vidimo, da je JSON super. Če pogledamo, da je malo bolj se bom za izgradnjo bolj zapleten primer JSON tukaj. Začnimo z vrsto, na primer, le prazen niz. Ampak to je nekako dolgočasno, tako da bomo napolnila malo, in kot sem rekel, nizi so v JSON vnesite omejeni, Tako lahko imamo tudi tukaj niz, ki je hi, in to je še en element te matrike. In prav tako lahko dodamo hashmapping tukaj, ki se dogaja, da imajo nekaj preslikave. To se dogaja, da so preslikave iz imena do niza Billyjem. Imamo preslikavo iz imena do Billyja, in imamo kartiranje najljubša barva modra. To je v bistvu dober primer JSON. Nekako pride v-Ops, morate piko tam, vse različnih delov. Še enkrat, to ni tip vezan na vse, tako da lahko imate kakršnokoli vrste notri kaj hočeš, in ideja je, da je samo-podobno. Z drugimi besedami, ta tukaj je predmet JSON, saj je to stvar, kot je le to, tako da lahko imajo primitivna biti predmet, matrika je cilj ali HashMap biti predmet. Kot lahko vidite vrste, JSON je zelo, zelo koristne, da je tako vsestranski. Lahko imaš vse možne podatke, ki jih je mogoče zamisliti, ki so shranjeni v JSON. To omogoča zelo lepo jezik za uporabo z API-jev ker je precej pomeni, da ne glede na to, kateri podatki, ki jih želite tam se dogaja, da se na nek način priti nazaj v JSON. Pred nekaj lastnosti, zaradi katerih JSON še posebej dobro za te stvari. Kot lahko vidite, v primerjavi z veliko stvari, ki si delal z pri CS50 to je relativno zelo enostaven za branje in tudi zelo enostavno napisati. Lahko ga alinee, če hočeš, da sem delal na tem primeru, ki vam daje lepo, lepo različico, ki si ga lahko ogledate zelo dobro. Toda poleg tega je tudi enostaven za branje in pisanje za računalnik. Z drugimi besedami, to je enostavno razčleniti in enostaven za kodiranje, kar pomeni, da je to zelo hitro, kolikor je branje podatkov je zaskrbljen, in se lahko JSON ustvarili zelo hitro. Prav tako je zelo enostaven dostop do različnih delov JSON in take stvari. To je lepo in prav, da je to samo-podobno, z drugimi besedami, dejstvo, da lahko imajo v JSON JSON v JSON je res lepo za shranjevanje podatkov. Drugi del, ki je na splošno zelo koristno pri delu z API je jQuery. Naučili ste se malo JavaScripta, kar je lep način, da manipulirajo HTML in CSS v spletne strani. Vendar pa lahko to nekako je bolečina kodo JavaScript v preprostem, predvsem zato, ker je res JavaScript verbose jezika. Moraš se naučiti veliko sintakse, in tako narediti zelo preprostih stvari je potrebno veliko kode, tako jQuery je knjižnica za JavaScript. Z drugimi besedami, da je JavaScript datoteke, ki jih lahko naložite in potem uporabite jQuery funkcije narediti določene stvari. In jQuery bistvu naredi vaše življenje veliko lažje. To poenostavlja kaj bi potrebovali na stotine vrstic v JavaScriptu do nekaj vrstic v jQuery. To je še posebej uporabno, če uporabljate API, ker na splošno kako boste dostop do API-je tako, da AJAX zahteve, in verjamem, David je navedeno v predavanju, ki AJAX zahteva na splošno, ko delate omrežja zahtevo za neke vrste strežnika in dobili nazaj neke vrste podatkov in posodabljanje strani trenutku. Ker je v preprostem JavaScript bi to lahko noro število črt potrditi vse glave in narediti vse, da take stvari, jQuery je res preprosto funkcijo imenovano AJAX, in vse, kar morate storiti, je, da AJAX parametre, ki jih želite dati API, lokacija API in morebitna dodatna vrsta možnosti, ki jih želite oblikovati. To je zelo, zelo lepo in zelo koristno za te stvari. To je vse, kar potrebujemo, da začnete pridobivanje naše roke umazane v API. Grem, da bi do nekaj primerov in raziskovanje njihove različne lastnosti in zakaj so uporabne za različne vrste stvari. Prva stvar, da bom dejansko vam pokaže nekaj, kar delam V svojem raziskovalnem laboratoriju, ki je Viewer Ngram, in v bistvu ideja o Viewer Ngram je lahko iščete neke vrste besede ali besedna zveza, in videli, kako pogosto se je pojavil v določenem nizu besedila v daljšem časovnem obdobju. Ta primer tukaj je ta nabor podatkov o dojenčkih , ki so bili rojeni v New Yorku med leti 1920 in 2000. Mi lahko iščete na primer za ime Jennifer, in vidimo, da pre-1960 je bila res ne uporabljajo tako zelo, in potem ko smo prišli v poznejših letih pa postaja se vedno bolj uporabljajo. Mi lahko storite tudi primerjave, tako da če primerjamo Jennifer, na primer, Thomas, lahko vidimo, Thomas je bil precej razširjena v zgodovini, ker je Jennifer novejši ime. To lahko storimo, da se take stvari. Kako ta aplikacija deluje? V bistvu deluje preko API. Z drugimi besedami, imamo določene parametre tukaj. Imamo parametre, kaj smo pravzaprav iščejo, ki so ta imena, potem pa imamo še nekaj drugih lastnosti, kot Y osi in osjo x. Ogledate si lahko imamo nekaj različnih možnosti, kolikor je časovna ločljivost uporabljajo in da se takšne stvari. Imamo te možnosti kolikor je tisto, kar smo dejansko želijo podatki iz baze podatkov, in želimo, da bi dobili te podatke nazaj v nekaj uporabnih način. Navadno, če smo poizvedovanje zbirke podatkov, neposredno bi bilo nekako je bolečina storiti Verjetno zato, ker se ti podatki o otroških imen živi v nekem baze nekje, in bi bilo res zapleteno, da ga ročno poizvedbo in se odloči, kaj podatki, da se vrnete. Z drugimi besedami, samo skrbi Jennifer in Thomas v tem primeru, in smo samo skrbi zaradi neke osi in vse te vrste stvari. Kako pridemo okoli tega? Kopati v tem API-jem malo več pokazal ti bom še en primer te platforme ki uporablja nekoliko drugačno nabor podatkov. Ta nabor podatkov, namesto da bi otroška imena, je pravzaprav zgolj celoten natisniti publikacijo bazo odprto knjižnico, kar je ogromen vir besedil, objavljenih po zadnjih 100 let ali tako. Ideja je, da imamo to compository na milijone in milijone besedila, ki lahko zdaj poiščete različnih besed in fraz noter Tukaj je primer, ki se giblje malo drugače od prejšnjega primera Sem ti pokazal, ki je imamo te 3 iskalnih poizvedb, vojna, vojna, francoska beseda za vojno, ki je guerre. In mi smo iskali v 3 različnih delov celotne baze. Z drugimi besedami, v tej prvi poizvedbi smo samo iščejo v ZDA, v drugem pa samo v Združenem kraljestvu, in šele od 3. del objavljenih v Franciji. Bomo videli nekaj zanimivih vzorcev pojavijo. Na primer, vidimo tukaj nekje ki- Ups, sem zamočil na osi malo, pa si lahko ogledate prav tukaj na tem območju po državljanski vojni pa je velik skok v ameriški izdaji vendar ne tako velik skok v drugih dveh, in to je očitno zato, ker American Civil War se dogaja v tem trenutku. Vidimo lahko nekaj kul stvari tam, ampak tisto, kar resnično skrbi, kako smo dobili te podatke. Odpeljal te bom v zakulisju v tej aplikaciji na malo. Krava trik je, če delate z mestom in vrsti zanima kaj se dogaja v zakulisju, lahko odpirajo orodij za razvijalce. Bom uporabljate razvijalce Chrome orodja, in da se tistim, lahko storite nadzor, premik, J in ki vas popelje na konzolo JavaScript. Obstaja nekaj zavihkov tukaj. So lahko vsi zelo koristen v različnih okoliščinah, vendar me skrbi omrežja Na kartici prav zdaj, in sem dejansko morali osvežiti, da bi dobili, da delajo. Žal mi je. Prav rad bi naključni primer. Ok, bomo uporabili ta primer namesto takrat. Ideja je, da je to tukaj API, in lahko vidite točno to, kar API se vrača. To je tisto, kar mu je vloga dobili nazaj od API, ki je poslan ta zahtevek. Naj povečate malo, in smo lahko videli, da je v bistvu le niz ključnih parov vrednosti v JSON. Z drugimi besedami, imamo to HashMap tukaj, ki je opredelil vrednosti. Z drugimi besedami, to je popis leta na vrednosti. Leta 1765 je kar beseda, ki jo je prvotno iskali uporablja 90-krat od 1 milijona EUR, tako da smo dobili nazaj ta rezultat. To ni ravno JSON, saj imamo ta majhen rezultat glavo tukaj, ampak obvestilo, da je vsa ta cilj tukaj je samo ena velika JSON Nič. Imamo množico tukaj, ki vsebuje ves ta element, in lahko vidite, da je celoten element se konča tam, in potem imamo še eno veliko element da gre vse navzdol do konca, in da se tukaj konča. Imamo zelo veliko paleto z 2 objektov v njem, in vsak od teh predmetov je HashMap. Ogledate si lahko znotraj vsake od teh hashmaps imamo preslikavo te vrednosti indeksa do 0 in vrednostjo Ta vrednost je v drugo HashMap, , ki je ponovno kartiranje vrednosti os X na osi Y vrednosti. Ogledate si lahko JSON gets malo bolj zapleteno malo, vendar na splošno, To je dejansko zelo uporabna, in je zelo enostaven za dostop v primerjavi s druge različne oblike zapisa. Kolikor je tisto, kar smo dejansko pošiljanje podatkov API, da bi dobili, Jaz bom šel v zadnjem delu malo tukaj. To je velik JavaScript datoteke, ki je obravnavanju vseh interakcij na spletni aplikaciji, in zato ne skrbi, večino tega, vendar pa ni vseeno nekaj od tega. Na primer, skrbimo za to buildQuery funkcijo, in ideja te naloge je v bistvu kar je iskal po strani, poskušal ugotoviti, kaj uporabnik želi, da se pozanima, ali z drugimi besedami, preverjanje te škatle, kjer sem vložek njihove iskanih izrazov preverjanje različnih Y in X osi vrednosti, ki ste jih izbrali, in vse take stvari, in to se dogaja, da izpljune to poizvedbo vrednost, ki lahko nato pošljete off za API. To izgleda zapletena, zato je zelo zapletena ampak kaj bom storil, v resnici, sem že delal to, kar je super- je, da bom dobil konzolo, da natisnete točno to poizvedbo vrednost da je pošiljanje off na API. To je pravzaprav tukaj. Žal mi je, da oddaja veliko stvari. Ampak to je tisto, kar nas skrbi, je to predmet tukaj. To je izraz predmet. Z drugimi besedami, to je točno tisto, kar spletna aplikacija pošilja na API, zato poglejmo noter malo, in vidimo, imamo nekaj vrednosti tukaj. Vidimo, da so to vrsto grof, ki je dogodke na milijon besed, ki je točno tisto, kar smo se odločili na osi Y tukaj. To je, če ta prihaja. Imamo bazo podatkov vrednost, kar pomeni, da je nekaj gotovo baze da so ti podatki, ki živijo v, in želimo, da dostop do teh podatkov izrecno za razliko od otroških imen podatkov, na primer. Potem imamo to vrednost skupine, , ki je dejal, da želimo iskati po letu, v nasprotju z katera koli druga os X vrednost. Potem imamo metodo, ki bo del API narediti več stvari. Z drugimi besedami, ta API vrne tudi druge vrste podatkov, vendar v tem primeru želimo, da prikaz vrednosti osi X, Y osi vrednosti. To je tisto, ki jo pripoveduje, da je to, in imamo to vrsto iskanja omejitve, ki vsebuje 2 vrednosti. Prvi je to, kar vidimo tukaj, to je vse vrednosti vsebovane v tem prvem malo polje na vrhu. Z drugimi besedami, želimo iskati besedne bitke, in želimo, da ga filtrirati po angleških besedil v ameriški literaturi. Imamo to državo, ki je ZDA. Imamo jezik, ki je angleščina, tako da imamo vse te različne dele da so vsi govori API točno tisto, kar si želimo. Ne vemo, kaj so podatki, ki jih dobimo nazaj je še, vendar vemo, da podatki, se bo trajalo določeno obliko. Ta primer je vrsta na zapletene strani, in ne bi nujno uporabo API ta kompleks, vendar pa je to, da vam pokažem obseg in moč, kar lahko storite API. Z drugimi besedami, z relativno enostavnega sistema poizvedbe smo v bistvu imeli vnosno polje z nekaj drugimi selektorji v različnih krajih. Naj povečavo nazaj ven. Imamo vnosno polje z nekaj različnih metapodatkovnih izbire, in imamo Y os in os X izbore. Mi ne dejansko imajo, da mnoga področja, in smo lahko videli zelo hitro smo lahko poizveduje neke vrste API in dobili podatke nazaj, nato pa ga v tem grafikonu ki se potem dogaja, da ga prikažete uporabnega način. Če pogledamo še en primer, da bi se lahko malo bolj seznanjeni z vami bomo obrniti na Facebooku. API Facebook, se imenuje Graf Facebook, in v bistvu, kaj to pomeni, je Facebook vidi kot te obsežne zbirke podatkov z veliko različnih delov, ki imajo vse določene odnose drug do drugega. Z drugimi besedami, sem si na Facebook, tako da imam profil, in sem tudi nekatere prijatelje, in vsak od njih ima profil, in vsak od mojih prijateljev je stena, ki ima drugačne pripombe na to, in vsak od teh pripomb je všeč in vse te stvari. Obstaja veliko različnih delov na Facebooku. To je zelo zapletena API, in tam je ton lahko storite z njo, ampak to je pravzaprav zelo preprost za uporabo. Jaz bom za začetek, ki ga bo graph.facebook.com / billyjanitsch, ki je moj enkraten ime računa in ime vašega računa bo bodisi kakšna beseda, če ste jo izbrali, ali pa lahko samo niz številk. Kaj smo dobili nazaj, je precej osnovna informacija. Vidimo, da imam ime, ki je Billy, priimek, ki je Janitsch. Tam je edinstvena Facebook ID, ki ga imam. Vidite lahko, da sem ženska in da imam nastavitev jezika British angleščini. Z drugimi besedami, smo videli zelo osnovne informacije tukaj. To ni preveč, vendar pa nam predstavo o tem, kaj je tam. Mi lahko narediš isto stvar z Davidom Malan, npr. Mislim, da mu je ime dmalan. Vidimo David Malan je edinstven ID. Ima ime, ime, srednje ime, priimek. Vidimo tudi, da je on moški in da ima jezik nastavljen na angleščino. Z drugimi besedami, smo videli zelo osnovne informacije tukaj. Torej, kaj se zgodi, če se želimo preveriti kaj drugega? Recimo, da me zanima, kaj se je David Malan všeč na Facebooku. Lahko naredim / všeč. Zdaj pa smo naleteli na problem. Imamo neke vrste napake, ki pravi, da je dostop žeton je potrebno zahtevati ta vir. Ampak, če mislite o tem, da je dejansko smiselno, saj bi bilo čudno če bi lahko dostop vsak del baze Facebook Samo iz neke vrste preprost API, kajne? Z drugimi besedami, verjetno vaših podatkov ni mogoče dostopati z vsakomur, ki ga želi. Ta napaka je točno, kaj to pomeni. Nekateri API zahtevajo določene dovoljenja za dostop do svojih podatkov. In še bolj napredne API, kot je Facebook, 1, bo treba nekatera dovoljenja narediti določene stvari. Vidim te osnovne informacije o David Malan. Vidim, da je on moški in da živi v ZDA, ampak jaz ne morem videti ničesar mimo. Da bi se temu za zdaj, Facebook ima to lepo orodje ki je graf API raziskovalec, in ideja, da lahko nekako make up dovoljenja za sebe glede na vaše lastne potrebe in si oglejte stvari, ki jih lahko posebej pogledu računa. Na primer, če naredim graph.facebook.com/billyjanitsch/likes- Ups, mislim, da imam za ponovni moj žeton tukaj. Ok. Če bom še enkrat, super, zdaj vidim, da sem dobil to predmet nazaj ki pravi, da mi je všeč bazen rezanci, ki so v kategoriji iger in igrač. Všeč mi je mrože, ki so v kategoriji živali. To so moja dejanska Facebook všeč. Oni so nekako nerodno. Vendar pa lahko vidimo ta podatek je vse vrne v JSON. To je zelo berljiva. Z drugimi besedami, imamo to preslikavo podatkov nekakšno matriko, in vsak element tega sklopa je HashMap, ki preslika ime in podobno kategorijo kot. Vsak, kot je edinstven ID. Obstajajo vse vrste različnih stvari, podatkov, ki jih lahko dobite, in če ste zainteresirani za uporabo Facebooka API za CS50 končni projekt ali kaj podobnega, da je pravzaprav zelo izvedljivo. V bistvu, kako priti okoli pristnosti stvar je Facebook uporablja sistem, imenovan OAuth ali Odpri preverjanje pristnosti, in ne želim, da se v to zdaj, ker OAuth ali drugačen način preverjanje pristnosti ponavadi zelo razlikujejo med različnimi API-jev, tako da sem lahko preživijo dlje časa dogaja v vsaki, ampak oni so pravzaprav precej samoumevno. Če Google Facebook API je zelo berljiva. Obstaja celo spec. Na primer, to je dokumentacija za Facebook API, in lahko vidite, da sem na strani uporabnika, tako da sem lahko izvedeli vse o različnih vrstah stvari ki so na voljo, da se, kolikor je podatke in tudi različna dovoljenja, da moram za dostop do njih. Kot smo videli, da ne potrebujemo dovoljenj za dostop do imena ali spol, ampak tistega, ki jih ne potrebujejo dovoljenja za večino stvari. Ta stran, ali pa je ta spletna stran bo tudi vam povem, kako priti žeton, da bi lahko, da se prijavite. Večina sistemov za preverjanje pristnosti uporabiti nekakšen znak kje si dobil to edinstveno vrednost, ki je res dolgo in naključni niz, in lahko na ta način povezujejo zahtevo, da delate z vami. Z drugimi besedami, vedo, da ne delaš nič sumljivega s svojimi podatki. Vedo, kaj ste dobili. Prav tako vemo, da imate dovoljenje za ogled te informacije. Če ste naredili Facebook app in vaš program ima določene uporabnike, in so ti uporabniki lahko da aplikacija za dostop do določenih delov svojega profila, potem karkoli API ključ ali žeton, da aplikacija uporablja bodo mogli dostopati do podatkov za te uporabnike. Morda se sliši zapleteno, vendar ni tako slabo, in če želite uporabljati Facebook bi jaz zelo priporočam, da si menijo, igranje okrog s svojim API. To je zelo kul, in lahko naredijo veliko različnih stvari z njim. Če uporabnik podeljuje ta dovoljenja se lahko celo vrnili k API in povedati želim, da bi dejansko objavili na steno tega uporabnika, ali želim, da so jih objavili fotografijo, in zato na novice krme boste včasih teh nadležnih stvari rek je tvoj prijatelj gledal ta video na nekakšni čudni mestu ali kaj podobnega. To je zato, ker je bila ta aplikacija dostop do post na steni te osebe. Ideja splošno je Facebook API precej zapleteno, ampak tudi zelo koristno. Definitivno vredno preverjanje ven, če ste še vedno išče končni projekt. Drugi niz API-jev, da bom šel čez je CS50 API. Dovolite mi, da povečate tukaj. CS50 je dejansko pripravila celo vrsto API-jev ki jo lahko uporabite za končni projekt ali samo za vse, kar delate. In oni so večinoma povezane Harvard, in se razlikuje od menija Huds, na primer, s tem Harvard dogodki API, ki bo vam dostop do seznama različne prireditve, ki se bodo na na Harvardu, in da takšne stvari. In tako lahko kliknete na kateri koli od teh in dobil spec za to, ki jih boste lahko našli za vse API, in ideja je, vam omogoča, da veste,, posebej, kaj zahtevajo od API in kako jo zahteva. Z drugimi besedami, če želim vse dogodke, ki se dogajajo jutri potem moram očitno ji ta datum, ki ga želim v določeni obliki, in B, bo to povej mi, kaj točno se dogaja, da nazaj k meni. To bo rekel bom, da se vrnete vam ta predmet JSON, ali, kot lahko vidite, obstajajo različne oblike. Vrnete lahko tudi podatke kot CSV, na primer. Ampak veš točno, kako, da se podatki bo videti, ko ga boste dobili nazaj tako da lahko pričakujete, da boste storiti nekatere stvari z njim. Lahko se pomaknite navzdol in glej, na primer, če želimo, da se pozanima o API da bi dobili koledar, potem lahko uporabite ta poseben URL in mu nekatere parametre, ki se bodo podatki, ki jih želimo natančno. In prav tako, če želimo podatke nazaj v določeni obliki, potem bomo lahko od nje zahteva, da vnese podatke v CSV, in to je samo še en parameter, da smo prehod na API. Veliko kul stvari za početi tam. Jaz bi vsekakor priporočam preverjanje iz CS50 API. Grem pogledati na tem API hrane Harvard, zlasti za malo. Ena stvar, ki sem dejansko namenjen je to Harvard Noms spletni strani, ki uporablja CS50 hrane API za pridobivanje Huds meni za tisti dan. In za ljudi podaljšanja šolanja, HUDS je jedilnica storitev na Harvardu. Kaj vam je ta stran, ki vsebuje vse dnevne obroke, tako da bomo videli kosilo. Imamo nekaj različnih kategorij. Imamo fižol in polnozrnat postajo. Imamo rjavi riž postajo. Vidimo lahko, za malico imamo teh nekaj hrane predmetov. Če kliknemo na njih, nato pa smo dobili informacije o hranilni vrednosti. Vidiš, to je podatki o hranilni vrednosti za grenivke, v primeru, da ste se vprašali. In tako spet, bomo uzrli zadnji konec sem malo in videti, kaj točno to počne, da bi dobili te podatke. In izkazalo se je, da dejansko ni zelo zapleteno na vse. Ta datoteka izgleda malo grdo, ampak imejte v mislih, da je to ravnanje celotno spletno mesto, in če bi se pomaknite navzdol vidimo to funkcijo sprememb podatkov. Zdaj pa samo, da je jasno, je to napisano v CoffeeScript, , ki je jezik, ki ste jih verjetno ni videl. Ampak to je zelo berljivo, tako da bom hodil po njej, kot da je psevdokod. Spremeni datum je funkcija, ki se dogaja, da te vrednosti na datum, in to tudi dogaja, da se na eni strani, ki jih ne skrbi toliko. Ampak pomembno je, da ima ta datum in da je dan, da želimo, da zahteva vse prehrambenih izdelkov za. In potem boste videli, da imamo malo sintakse tukaj , ki je v bistvu razčlenjevanju ta datum v berljivi obliki. Z drugimi besedami, zahteva API datum v določeni obliki. Ne moreš kar reči, 16 november 2012 AD. To ne bo vedel, kaj storiti s tem. Želi datum v določeni obliki. Vsi delamo tukaj se ga daje točno to obliko, ki je letos vrednost in nato vezaj, mesečno vrednost, en pomišljaj in datum vrednost. In smo tudi rekli, da želimo, da podatki, ki potuje v JSON. Sedaj delamo to zahtevo AJAX, in kot sem že omenil, jQuery je to super koristno funkcijo, ki AJAX vse, kar morate storiti je, da določite nekaj parametrov tukaj, in to vam bo dala točno tisto, kar želite. Mi smo povedali, da je URL želimo, da bi šel v to CS50 hrane API, ki smo jo dobili iz spec. Pravimo, da želimo podatke v JSON in da bomo dati teh podatkov, ki smo določene tukaj. To je dan, ko želimo živilskih postavke za. In potem vse, kar morate storiti, je določiti neko funkcijo uspešnosti, ki je v bistvu tisto, kar se zgodi, ko se vrne, da se podatki API. Z drugimi besedami, smo se pakirajo vse parametre, ki jih želimo, ki v tem primeru je dan, ki ga želite, in dejstvo, da smo ga želeli v JSON, in jo poslala na API, tako da sedaj API je rekel, v redu, Tukaj so vaši podatki, sem ga dobil nazaj za vas. Imamo uspeh funkcijo, kar pomeni, da je določen API uspešno vrne nekaj podatkov, kaj bomo storili z njim? In izkazalo se je, da vse kar počnemo, je to imenujemo posodobitev meni funkcija s kakršnimi koli je API vrnil, tako da bomo lahko poiščete da in videli, da so vsi delamo uporablja kup novih sintakse tukaj posodobiti HTML in vstavljanje teh novih podatkov. Kaj to nam je, da imamo te puščice na obeh straneh, in smo lahko kliknete, in zdaj smo iskali na podlagi podatkov za naslednji dan in še enkrat za naslednji dan, in vsakič, ko je posodobitev, da datumsko vrednost in iskanje API, dobili nazaj nekaj podatkov in ga je dala v mestu. Again, lahko vidite, super, super koristno. Ta program je zame nekaj ur skupaj kramp, in imam malo več izkušenj, seveda, vendar vaše CS50 končni projekt lahko ogledate nekaj zelo všeč. API je super zmogljiv za količino napora, ki jih sprejmejo. Zadnja stvar, bom šel čez je nekaj več API-jev na splošno. Ne bom, kolikor v njih, kolikor je tisto, kar počnejo, posebej, ampak bom dal idejo o tem, kaj je tam zunaj. 2 res koristni tisti, če ste zainteresirani za analizo podatkov in vizualizacijo ali kaj podobnega, da so Freebase in Wikipedia. Wikipedia, verjetno vsi veste, je brezplačna spletna enciklopedija, in je dejansko API, tako da, če želite, na primer, dobili vse tekstov in člankov za hobotnice lahko zelo enostavno narediti. Samo reči, hej, Wikipedia API, rad bi podatke vrne kot je ta, in sem ga rad v tej obliki, in člen želim je, hobotnice, in zelo hitro vam bo dala nazaj te informacije. To je lahko zelo koristno, če želite, da bi neko mesto da je bolje, pregledovalnik Wikipediji ali kaj podobnega. Freebase je nekako podobno, čeprav je malo težje, kolikor API. Freebase je kot Wikipedia v tem, da je spletna enciklopedija ki vsebuje veliko in veliko različnih podatkov o vseh mogočih različnih temah, vendar pa je shranjena v relacijski zbirki podatkov, ki je nekoliko drugačna od Wikipedije. Wikipedia ima svoje članke in članke povezane z drugimi izdelki, vendar za večino del, če želite podatke za hobotnice, greš na hobotnico člena, se te podatke, in imate kup besedila O hobotnice, tako da je super. Freebase deluje v nekoliko bolj zapleten način v tem, da Vse je povezano med seboj. Z drugimi besedami, če iščete hobotnice potem je cel kup kategorij, povezanih z njo. Na primer, da je žival, živi pod vodo, ima določeno telesno temperaturo. Ne vem. In vseh teh kategorij so povezave do drugih krajev, kjer lahko greste videti stvari z isto kategorijo. Z drugimi besedami, hobotnica zbirka podatkov vsebuje povezavo do podatkov iz vseh živali, in da bo mi gibljejo v bazi res hitro. To je lahko zelo koristno, če delaš nekaj podobnega primerjav. Z drugimi besedami, glede nekaterih stvari, ki jih želite videti kaj je to povezano in videli, kaj se da ni povezan z. Takšne stvari. To je lahko koristno na več načinov. Če iščete več izziv in biti sposoben narediti nekaj bolj zapletene stvari Menim, da pri tem pogled na Freebase API. Ampak večinoma, Wikipedia je zelo preprosta kraj za iti tako daleč, kot je pridobivanje informacij. Drug kraj, da bom pogledati je Last.fm, in sem dejansko šel na spletno stran v primeru, nekateri ljudje ne poznajo, a Last.fm je v bistvu glasba okus in priporočila spletni strani. Lahko naredite račun. Lahko začnete nalaganje glasbe iz vašega predvajalnika glasbe na spletni strani in v bistvu se bo začela vam daje priporočila glasbe na to, kaj boste poslušali. Na primer, če greš v svoj profil stran, to je moje, lahko vidite, da imate seznam nedavno poslušali skladbe. Ogledate si lahko splošne najljubše izvajalce, vsi take stvari, in spet, obstaja velika API za Last.fm,  in ga lahko uporabite za veliko in veliko res kul stvari. Na primer, bom šel na stran prijatelja, ki ima to Last.fm Orodja spletne strani. To je pravzaprav ena platforma, ki je zgrajena na Last.fm API, in ne več lepih zanimivih stvari. Če sem se prijavite s svojim uporabniškim imenom, na primer, Lahko ga prosite za ustvarjanje tag cloud, na primer, in kaj bo storil, je vrni sliko vse različne zvrsti in da je vrsta stvari, ki mi je všeč poslušati. Kako se to počne? Zelo bistvu to je rekel, da je Last.fm API tukaj je ta uporabnik. Rad bi vedel žanr vseh pesmi, ki so jih kdaj poslušali, in lahko to storite tako, da precej preprosto AJAX klic na Last.fm API. Boste dobili nazaj velik seznam, nato pa seveda nekatere druge stvari, ki se izvaja da se spremeni v besedo oblak, pa si lahko ogledate na splošno to je zelo enostaven dostop in zelo enostaven za uporabo. Res lepo za več stvari. Mislim, da je približno vse, da bom na splošno povedal. Še zadnja stvar, bom omenil o API, ki je na splošno Včasih boste naleteli na nekaj, kar ti omejevanje hitrosti in ideja omejevanje hitrosti je ne želite, da zlorabljajo API. Z drugimi besedami, to je res lepo, da veliko teh spletnih strani so API da lahko greš in uporabo brezplačno. Vendar, če boste milijone ali milijarde prošenj na dan, na primer, če si zaljubljen v neskončno zanko, ki je neskončno poizvedovanje neke vrste API in dobili nazaj ogromno količino podatkov, Očitno to ni dobro, pa kaj veliko API storiti, je bilo to omejevanje hitrosti predvajanja , ki pravi, da lahko samo še 1.000 zahtevkov na dan, na IP naslov ali kaj podobnega. In če delaš veliko poskusov in take stvari, boste včasih vodijo v to, in nenadoma vas bo izklopila in reči ne, ne bom vam daje vse več podatkov. Kaj želite storiti, je igrati po pravilih. Hočeš, da poskrbite, da boste prebrali API spec previdno. Če ima določena pravila v zvezi z njo, kot si lahko le X poizvedb na dan ali lahko le dostop do dela baze podatkov določeno število krat ali kaj podobnega, ki ga želite poskrbite, da boste držali tega. Dokler boste igrali v teh pravil boste verjetno imeli res lepo s pomočjo API. Vaša splošna takeaway je API so zelo, zelo koristno. Obstaja API za skoraj vse velike spletne storitve tam zunaj. Precej kakšen del orodja Google Suite, Google Maps, Google Earth, Gmail, Google Koledar, vse te stvari so API. Lahko jih uporabite tako dobili podatke iz strežnika in pošiljanje podatkov na strežnik. Z drugimi besedami, če boste želeli, da bi koledar app, da lahko posodobi nekdo Google Koledar, tam je API za to. Če želite nekaj, kar se dogaja, da ti povem kje mesto določenem naslovu, je lahko s pomočjo Google Maps API za to. API fantastično koristno, in so povsod. Če ste zainteresirani za nekakšno idejo, tam je verjetno povezano API, ki jih lahko uporabite, da bi dobili veliko podatkov zelo hitro in zelo enostavno. Če še vedno iščete projekt, ali če želite le igral z nekaj na splošno, API so vsekakor vredno početje. Hvala, in jaz sem vesel, da odgovori na vsa vprašanja, ki jih imajo fantje. V redu, hvala. [CS50.TV]