[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]