[Powered by Google Translate] [Seminārs] [programmētāja Ievads API]
[Billy Janitsch] [Hārvarda] [Tomijs MacWilliam]
[Tas ir CS50.] [CS50.TV]
>> Sveiki, visiem, es esmu Billy, un šodien es esmu gatavojas runāt par API,
vai lietojumprogrammu saskarnes,
īpaši uz CS50 gala projektu ietvaros un ka veida lieta.
Vispār, kas ir API?
Ļoti plašā formulējumā, tas ir sava veida vidū cilvēks, kas ļauj 2 gabali
programmatūru, lai sazinātos ar otru.
Tas ir sava veida ļoti plašā definīcija, un nav tik svarīgi, ko mēs meklējam, ir.
Ko mēs patiešām vēlamies, ir sava veida noderīgu vidusceļu
komunicēt ar sava veida datubāzes kaut kur.
>> Lūk diagrammas, un būtībā ideja ir tāda, ka
Mēs esam pieteikumu, un mēs vēlamies, lai iegūtu datus no datu bāzes,
bet mēs negribam, lai vaicājumu datu bāzē tieši.
Tā vietā mēs vēlamies iet caur šāda veida vidū cilvēks, API.
Aiz šī ideja ir skaitļi 2 un 3 par topā
ir gan būs ļoti sarežģīta un netīrs.
Citiem vārdiem sakot, ja API vaicājumiem datu bāzi,
tas ir iespējams, būs izmantojot SQL tabulas un visu, kas veida stuff,
un mēs esam iemācījušies mazliet par to CS50, bet kopumā
Jūs esat ievērojuši, ka tas ir mazliet sāpes.
Tas kļūst ļoti, ļoti sarežģīta un netīrs, jo īpaši, ja jūs gūstat
sarežģītu jautājumu un ka veida lieta.
>> Ko mēs patiešām vēlamies, ir sava veida noderīgu un vienkārši
lai iegūtu šos datus, un tas ir ideja numuriem 1 un 4 uz diagrammas.
Citiem vārdiem sakot, mēs vēlamies patiešām vienkāršs veids, kā pateikt API to, lai saņemtu par mums
un ļoti vienkāršs veids, kā iegūt šos datus atpakaļ.
Ir viens galvenais ceļš, ka datus parasti nosūtīti un saņemti,
kas ir JSON, vai JavaScript objekts notāciju.
Tas var atšķirties mazliet cik to, kā jūs sūtīt pieprasījumu uz API.
Citiem vārdiem sakot, ja jūs vēlaties kādu noteiktu datu apjomu,
kā jūs pateikt API, lai iegūtu, ka datus var atšķirties mazliet.
Parasti tas nozīmē veikt kaut kādu tīkla pieprasījumu.
Citiem vārdiem sakot, piekļūstot sava veida URL, kas notiek, lai pastāstītu API
tieši to, ko jūs vēlaties, bet dati tiek gandrīz vienmēr nosūta atpakaļ,
citiem vārdiem sakot, JSON skaits 4.
>> Kas ir JSON tieši?
Kā es teicu, JavaScript objekts notāciju.
Tā būtībā universāls standarts nosūta un saņem datus.
Ideja ir tāda, ka Jums ir šie 3 kategoriju lietām.
Jums ir bloki, hashmaps un primitīvi.
Masīvi un hashmaps esat aplūkoja mazliet jo CS50,
bet jūs esat veida gotten ļoti stingru sajūtu, ko viņi ir.
Citiem vārdiem sakot, ar masīviem jūs zināt, ka viņi rakstīt saistoša,
tāpēc jums ir tikai viena veida tipa kas iet visā masīvs.
JSON ir daudz saudzējošāks ar šo veida lieta.
Būtībā ideja ir jums būvēt šo objektu,
ko var veidot kādu no šīm 3 lietām
un var sastāvēt no vairākām tiem no viņiem, un viņi var ligzdot.
>> Lūk veida piemērs JSON,
kas ir šie figūriekavās šeit pārstāvēt savu HashMap,
un HashMap pamatā kartēšanas no kaut kādas atslēgas
uz kādām vērtības.
Jūs redzēsiet, ka mēs ir īpašības atslēgu,
un kas ir kartēšanas uz masīvā, kas ir šī visa lieta.
Mēs redzēt citu elementu HashMap, kas ir šī atslēga isAwesome,
kas kartes uz primitīvu vērtību taisnība, citiem vārdiem sakot, Būla.
Primitīvi var būt stīgas. Tie var būt veseli skaitļi.
Tie var būt bools, kaut kā tā.
Un jūs redzēsiet saturu šo masīvu, kas īpašības norāda uz ir 2 stīgas tajā,
self-līdzīgi un brīnišķīgi.
Tiem ir 2 īpašības JSON, un mēs redzam, ka JSON ir laba.
Apskatīt to nedaudz vairāk es esmu gatavojas būvēt
sarežģītāka piemērs JSON šeit.
>> Sāksim ar masīvu, piemēram, tikai tukšu masīvu.
Bet tas ir sava veida garlaicīgi, tāpēc mēs ejam, lai novērstu to mazliet,
un kā es teicu, matricas JSON ir rakstīt saistoša,
lai mēs varētu arī būt virkne šeit, kas ir hi,
un tas ir vēl viens elements, ka masīvu.
Un tāpat, mēs varētu pievienot hashmapping šeit, kas gatavojas ir dažas samērošanai.
Tas notiek, lai būtu kartēšanu no vārda uz stīgu Billy.
Mums ir kartēšanu no vārda līdz Billy, un mums ir jāapzina
mīļākā krāsa ir zilā krāsā.
Tas ir būtībā labs piemērs JSON.
Tā veida nonāk-Whoops, nepieciešams komats tur-visu par dažādām tā.
Atkal, tas nav ierakstīt saistoša vispār, lai jūs varētu būt jebkāda veida veidi
iekšā kaut ko vēlaties, un ideja ir tas self-līdzīgi.
Citiem vārdiem sakot, šīs tiesības šeit ir JSON objekts, jo tas ir viss,
jo ir tikai tas, lai jūs varētu būt primitīva jābūt objekts,
masīvs būt objekts vai HashMap būt objekts.
>> Kā jūs varat veida redzēt, JSON ir patiesi, patiesi noderīga, jo tā ir tik dažāda.
Jūs varat būt kāda dati, jūs varat iedomāties, kas glabājas JSON.
Kas padara to patiešām jauku valodu lietot ar API
jo tas diezgan daudz nozīmē, ka nav svarīgi, kādi dati, ko vēlaties
tur būs kāds veids kā dabūt to atpakaļ JSON.
Dažas īpašības, kas padara JSON īpaši laba šāda veida lieta.
Kā jūs varat redzēt, salīdzinot ar daudz lietas, kas jums ir strādāt ar in CS50
tas ir salīdzinoši ļoti viegli lasīt un arī ļoti viegli rakstīt.
Jūs varat ievilkumu to, ja jūs vēlaties, piemēram, man bija darīt, ka piemērs,
kas dod jums jauka, skaista versija, ka jūs varat redzēt patiešām labi.
Bet turklāt tā ir arī viegli lasīt un rakstīt uz datora.
Citiem vārdiem sakot, tas ir viegli apstrādāt un viegli kodēt,
kas nozīmē, ka tas ir diezgan ātri, cik vien lasot datus ir bažas,
un JSON var radīt tiešām ātri.
>> Tas ir arī ļoti viegli piekļūt dažādām daļām JSON un ka veida lieta.
Tas ir jauki, turklāt fakts, ka tas ir self-līdzīgi,
citiem vārdiem sakot, tas, ka jūs varat būt JSON laikā JSON laikā JSON
ir tiešām jauks datu glabāšanai.
Vēl daļa, kas parasti ir ļoti noderīga, strādājot ar API ir jQuery.
Jūs esat iemācījušies mazliet JavaScript, kas ir jauks veids
manipulēt HTML un CSS ietvaros mājas lapā.
Bet tas var veida būt sāpes, lai kodu vienkāršā JavaScript,
lielākoties tāpēc JavaScript ir patiešām runīgs valodu.
Jums ir, lai uzzinātu daudz sintakses, un tikai darīt ļoti vienkāršas lietas
tas aizņem daudz kodu, tāpēc jQuery ir bibliotēka JavaScript.
Citiem vārdiem sakot, tas ir JavaScript failu, kuru var ielādēt
un pēc tam izmantot jQuery funkcijas izdarīt dažas lietas.
Un jQuery būtībā padara jūsu dzīvi kopumā daudz vieglāk.
Tas vienkāršo kādi būtu vajadzīgi simtiem līniju JavaScript leju, lai dažus līniju jQuery.
>> Tas ir īpaši noderīgi, ja jūs izmantojat API jo parasti
Kā jūs piekļūt API ir, padarot AJAX pieprasījumus,
un es uzskatu, ka Deivids ir minēts lekciju, ka AJAX pieprasījumi
parasti, kad jūs gūstat tīkla pieprasījumu uz kādām servera
un saņemt atpakaļ kaut kādus datus un atjaunināt lapu uzreiz.
Tā vienkāršā JavaScript, kas varētu veikt traks skaits līniju
lai apstiprinātu visus no sadalītājiem un darīt visu, kas veida stuff,
jQuery ir patiešām vienkāršu funkciju sauc AJAX
un viss, kas jums ir jādara, AJAX ir sniegt parametrus, kas jūs vēlaties, lai dotu API,
par API vietu un papildu veida iespējas, ka jūs vēlaties konfigurēt.
Tas ir ļoti, ļoti jauks un ļoti noderīgi šāda veida lieta.
Tas ir viss, kas mums ir nepieciešams, lai sāktu saņemt mūsu rokas netīras ar API.
>> Es esmu gatavojas audzināt dažus piemērus un izpētīt savu atšķirīgas īpašības
un kāpēc viņi noderīgi dažādas lietas.
Pirmā lieta es tiešām parādīs, ir kaut kas, es esmu strādā
pie mana pētniecības lab, kas ir Ngram skatītājs,
un būtībā no Ngram Viewer ideja ir jūs varat meklēt kādu vārdu
vai frāze un redzēt, cik bieži tas parādījās noteiktā kopumu teksta laika gaitā.
Šis piemērs ir šis datu kopums zīdaiņiem
kas dzimuši New York no 1920 līdz 2000.
Mēs varam meklēt, piemēram, attiecībā uz nosaukumu Jennifer,
un mēs redzam, ka pre-1960 tas tiešām nav tikusi izmantota, ka daudz,
un tad kā mēs nokļūt vēlākos gados tas kļūst izmanto arvien vairāk.
Mēs varam arī to salīdzināšanu, tāpēc, ja mēs salīdzinām Jennifer lai, piemēram, Thomas,
mēs varam redzēt Tomass ir diezgan izplatīta visā vēsturē,
tā Jennifer ir jaunāks nosaukums.
Mēs varam darīt, ka veida lieta.
>> Kā tas pieteikums darbojas?
Būtībā, tas darbojas, izmantojot API.
Citiem vārdiem sakot, mums ir daži parametri šeit.
Mums ir parametrus, ko mēs patiesībā meklējam,
kas ir šie vārdi, un tad mums ir dažas citas īpašības,
tāpat Y asi un X asi.
Jūs varat redzēt mums ir dažas dažādas iespējas, ciktāl
izšķiršanas laiku izmantot, un ka veida lieta.
Mums ir šīs iespējas, cik vien kādi dati mēs patiesībā gribam no datubāzes,
un mēs vēlamies, lai iegūtu šos datus atpakaļ noderīgu veidā.
Parasti, ja mēs vaicājumiem datubāzes tieši tas būtu sava veida būt sāpes darīt
jo domājams Tas par bērnu vārdi dati dzīvo kādā datu bāzē kaut kur,
un tas būtu patiešām sarežģīti ir vaicājumu to manuāli
un izlemt, tieši kādus datus, lai atgrieztos.
Citiem vārdiem sakot, mēs tikai rūp Jennifer un Thomas šajā gadījumā,
un mēs tikai rūpējamies arī par noteiktu asi un visa šā veida stuff.
>> Kā mēs varam iegūt ap šo?
Bakstīt šo API nedaudz vairāk es jums parādīs jums citu piemēru šo platformu
kas izmanto nedaudz atšķirīgu datu kopu.
Šī datu kopums, nevis to bērnu vārdi, ir faktiski tikai visa
drukāt publikāciju datu bāze Open bibliotēkas,
kas ir milzu avots publicēto tekstu visā pēdējo 100 vai tik gadu.
Ideja ir mums šī compository miljoniem un miljoniem teksta,
ko mēs tagad varam meklēt dažādus vārdus un frāzes iekšā
Lūk piemērs, kas atšķiras nedaudz atšķirīgi no iepriekšējā piemēra
Man parādīja jums, kas ir mums šos 3 meklēšanas vaicājumus,
karš, karš, un ar franču vārdu karā, kas ir Guerre.
Un mēs meklējam 3 dažādās sadaļās kopējā datu bāzē.
Citiem vārdiem sakot, šajā pirmajā vaicājumā mēs esam tikai meklē ASV,
Otrajā tikai vienu Apvienotajā Karalistē, un tikai no darbiem, kas publicēti Francijā trešdaļa.
Mēs redzam dažas interesantas modeļus parādīties.
Piemēram, mēs redzam labi ap šeit, kas,
Hmm, es messed asij mazliet, bet jūs varat redzēt tieši šajā diapazonā šeit
ap Pilsoņu kara tur liels smaile amerikāņu izdevumā
bet nav tik liels smaile diviem citiem, un tas ir acīmredzami, jo
Amerikas pilsoņu karš notika tajā brīdī.
>> Mēs varam redzēt dažus cool stuff tur,
bet tas, ko mēs tiešām rūp tas, kā mēs saņēmām šo informāciju.
Es tevi aiz šīs app mazliet ainas.
Veikls triks ir, ja jūs strādājat ar vietu un veidu gribu zināt
kas notiek aiz ainas, jūs varat atvērt attīstītājs instrumenti.
Es esmu būs izmantojot Chrome izstrādātāju rīkus, un, lai saņemtu tiem
jūs varat darīt Control, Shift, J un kas ņem jūs uz JavaScript konsole.
Ir daži cilnes.
Viņi visi var būt diezgan noderīga dažādos apstākļos, bet es vienalga par tīklu
tab tieši tagad, un man tiešām ir atsvaidzināt, lai saņemtu šo darbu.
Ak, piedodiet.
Tas patīk, lai dotu izlases piemērs.
Labi, mēs izmantot šo piemēru vietā tad.
>> Ideja ir tur tas API šeit,
un jūs varat redzēt, tieši to, ko API atgriežas.
Tas ir tas, ko pieteikumu saņemt atpakaļ no API, kas nosūtījusi šo lūgumu.
Ļaujiet man tuvinātu mazliet,
un mēs varam būtībā redzēt tas ir tikai virkne galveno vērtību pāru JSON.
Citiem vārdiem sakot, mums ir šī HashMap šeit, kas ir kartēšanas vērtības.
Citiem vārdiem sakot, tas ir kartēšanas gadus vērtībām.
1765 neatkarīgi vārdu mēs sākotnēji meklēti tiek izmantota 90 reizes
no 1 miljonu, tāpēc mēs esam iegūt atpakaļ šo rezultātu.
Tas nav tieši JSON jo mums ir šis maz rezultātu header šeit,
bet paziņo, ka tas viss objekts šeit ir tikai liels liels JSON lāse.
Mums ir masīva šeit kurā visu šo elementu,
un jūs varat redzēt, ka viss elements beidzas tur, un tad mums ir vēl viens liels elements
kas iet visu ceļu uz leju līdz beigām, un tas beidzas šeit.
Mums ir tiešām liels masīvs ar 2 objektiem tajā,
un katram no šiem objektiem ir HashMap.
Jūs varat redzēt katrā no šiem hashmaps mums ir kartēšanu
Šīs indeksa vērtības 0 un šo vērtību vērtība uz citu HashMap,
kas atkal ir kartēšanas X ass vērtības Y ass vērtībām.
>> Jūs varat redzēt JSON kļūst mazliet sarežģīti mazliet, bet kopumā
tas tiešām ir ļoti noderīgi, un tas ir ļoti viegli piekļūt, salīdzinot ar
citi dažāda veida apzīmējumu.
Runājot par to, ko mēs patiesībā nosūtot datus uz API, lai iegūtu,
Es iešu uz muguras beigās mazliet šeit.
Tas ir liels JavaScript failu, kas apstrādā visu par web app mijiedarbību,
un tāpēc mums nav jārūpējas par lielāko, bet mēs rūpējamies par kādu no tā.
Piemēram, mēs rūpējamies par šo buildQuery funkciju,
un šīs funkcijas ideja būtībā tas skatos lapā,
norādītas, ko lietotājs vēlas vaicājumu, citiem vārdiem sakot,
pārbaudot tās kastes, kur viņi ievadi savu meklēšanas terminus,
pārbaudot dažādas Y un X ass vērtības, ka viņi izvēlas un visu, kas veida lieta,
un tas notiek, lai izspļaut šo vaicājumu vērtība, ko es pēc tam var nosūtīt off ar API.
>> Tas izskatās sarežģīta, un tas ir diezgan sarežģīti
bet ko es esmu gatavojas darīt, patiesībā, es esmu jau to izdarīt, kas ir liels-
ir tas, ka es esmu gatavojas saņemt konsole izdrukāt tieši to vaicājumu vērtība
ka tas ir nosūtījis off uz API.
Tas ir tiešām labi šeit. Atvainojiet, tas izejas daudz lietas.
Bet tas ir tas, ko mēs rūp, šis objekts šeit.
Tas ir vaicājums objekts.
Citiem vārdiem sakot, tas ir tieši tas, ko interneta pieteikumu sūta uz API,
un tāpēc aplūkosim iekšpusē mazliet, un mēs redzam mums ir maz vērtības šeit.
Mēs redzam mums ir šī skaita tipa, kas ir gadījumi uz vienu miljonu vārdiem,
kas ir tieši tas, ko mēs esam izvēlējušies ar Y ass vairāk nekā šeit.
Tas ir, ja tas nāk no.
Mums ir datu bāze vērtība, kas nozīmē, ka tur ir dažas dažas datubāze
ka šie dati ir dzīvo, un mēs vēlamies, lai piekļūt šiem datiem konkrēti
atšķirībā no bērnu vārdi datiem, piemēram.
Tad mums ir šis grupas vērtība,
kas saka, ka mēs vēlamies, lai meklētu pēc gada, salīdzinot ar
jebkurš cits X ass vērtību.
Tad mums ir metode, ko daži API būs darīt vairākas lietas.
Citiem vārdiem sakot, tas API var arī atgriezties cita veida dati,
bet šajā gadījumā, mēs vēlamies, lai šī kartēšanu X ass vērtību līdz y asu vērtībām.
Tas ko, kas stāsta to darīt tur,
un mums ir šo meklēšanu robežas masīvs, kas satur 2 vērtības.
Pirmais ir tas, ko mēs redzam šeit, kas ir visas vērtības
ietvertas šī pirmā mazā lodziņā augšpusē.
>> Citiem vārdiem sakot, mēs vēlamies meklēt vārdu kaujas, un mēs vēlamies, lai filtrētu
Anglijas tekstiem ietvaros amerikāņu literatūrā.
Mums ir šī valsts, kas ir ASV.
Mums ir valoda, kas ir angļu valodā, tāpēc mums ir visas šīs dažādās daļās
ka visi stāsta API tieši to, ko mēs gribam.
Mēs nezinām, kādi dati, ka mēs atgriezīsimies vēl,
bet mēs zinām, ka dati ir gatavojas veikt noteiktu formu.
Šis piemērs ir sava veida uz sarežģītu pusē,
un jums nebūtu obligāti izmantojot API šo kompleksu,
bet tas ir parādīt jums klāstu un spēku, ko API var darīt.
Citiem vārdiem sakot, izmantojot salīdzinoši vienkāršu vaicājumu sistēmu mēs būtībā ir ievades lodziņš
ar dažiem citiem šķirotāja dažādās vietās.
>> Ļaujiet man atkal tālināt šeit.
Mums ir ieejas kaste ar dažiem dažādiem metadatu izlasēs,
un mums ir Y asi un x ass izlasēs.
Mums nav reāli ir, ka daudzas jomas,
un mēs varam redzēt ļoti viegli mēs varam apšaubīt kaut kādu API
un iegūt datus atpakaļ un tad nodot to šajā diagrammā,
kas tad notiek, lai parādītu to lietderīgā veidā.
Lai apskatīt vēl viens piemērs, kas varētu būt mazliet vairāk pazīstams ar jums, puiši
mēs spēsim pārvērst uz Facebook.
Facebook API sauc Facebook grafiks,
un būtībā, ko tas nozīmē ir Facebook sevi redz kā šajā masveida datu bāzē
no daudz dažādām daļām, kas visi ir noteiktas attiecības uz otru.
Citiem vārdiem sakot, es esmu lietotājs Facebook, tāpēc man ir profils,
un man arī ir dažas draugi, un katrs no tiem ir profils,
un katrs no maniem draugiem ir siena, kas ir dažādas piezīmes par to,
un katrs no šiem komentāriem ir patīk un visu šo veida lieta.
>> Ir daudz dažādas daļas uz Facebook.
Tas ir ļoti sarežģīts API, un tur ir t jūs varat darīt ar to,
bet patiesībā tas ir diezgan vienkārši izmantot.
Es esmu gatavojas sākt, dodoties uz graph.facebook.com / billyjanitsch,
kas ir mans unikāls konta nosaukumu, un jūsu konta nosaukums būs vai nu
kādu vārdu veida ja esat izvēlējies to, vai tas varētu vienkārši būt virkne skaitļu.
Ko mēs saņemam atpakaļ ir diezgan pamata informācija.
Mēs redzam, ka man ir vārds, kas ir Billijs, uzvārds, kura ir Janitsch.
Tur unikāls Facebook ID, kas man ir.
Jūs varat redzēt, ka es esmu vīrietis, un ka man ir mana valodas iestatījumu
British angļu.
Citiem vārdiem sakot, mēs redzam ļoti pamatinformāciju šeit.
Tas nav pārāk daudz, bet tas dod mums priekšstatu par to, kas ir tur.
>> Mēs varam darīt to pašu ar David Malan, piemēram.
Es domāju, ka viņa vārds ir dmalan.
Mēs redzam Deivids Malan ir unikāls ID.
Viņš ir, vārds, otrais vārds, uzvārds.
Mēs arī redzam, ka viņš ir vīrietis un ir viņa valodas iestatīts uz ASV angļu.
Citiem vārdiem sakot, mēs redzam diezgan pamatinformāciju šeit.
Tagad, kas notiek, ja mēs cenšamies, lai pārbaudītu kaut ko citu?
Pieņemsim, ka es esmu ieinteresēts, ko Dāvids Malan ir patika par Facebook.
Es varu darīt / patīk. Tagad mēs esam uzskriet problēmas.
Mēs esam ieguvuši kaut kādas kļūdas, kas saka piekļuves pilnvara
ir nepieciešams pieprasīt šo resursu.
Bet, ja jūs domājat par to, kas faktiski ir jēga, jo tas būtu dīvaini
ja jūs varētu piekļūt katru daļu Facebook datubāzē
tikai no kaut kādas vienkāršas API, vai ne?
Citiem vārdiem sakot, domājams jūsu informāciju nevar piekļūt ikviens, kas to vēlas.
>> Šī kļūda ir tieši tas, ko tas nozīmē.
Daži API prasa noteiktus atļaujas, lai piekļūtu saviem datiem.
Un vēl vairāk uzlabotas API, tāpat vienas Facebook,
būs nepieciešama daži atļaujas izdarīt dažas lietas.
Es redzu šo pamata informāciju par David Malan.
Es redzu, ka viņš ir vīrietis un ka viņš dzīvo ASV,
bet es nevaru īsti redzēt neko pagātnē to.
Lai iegūtu ap šo, tagad, Facebook ir šo jauku rīku
kas ir grafika API pētnieks, un no tā ideja ir varat kārtot par
veido atļaujas sevi, balstoties uz savu kontu
un pēc tam apskatīt lietas, kas speciāli jūsu konts var apskatīt.
Piemēram, ja man graph.facebook.com/billyjanitsch/likes-
Whoops, es domāju, man ir atkārtoti apstiprināt savu pilnvaru šeit.
Labi.
Ja man darīt atkal, lieliski, tagad es redzu, ka man šo objektu atpakaļ
kas saka, ka man patīk baseins nūdeles, kas ir kategorijā spēlēm un rotaļlietām.
Man patīk valzirgiem, kas ir kategorijā dzīvnieku.
Tie ir manas īstās Facebook patīk.
Viņi veida neērts.
>> Bet mēs varam redzēt šos datus viss atgriezās JSON.
Tas ir diezgan lasāma.
Citiem vārdiem sakot, mums ir šī kartēšana datu uz kādām masīva,
un katrs no šī masīva elements ir HashMap kas kartes
gada līdzīgi nosaukumu un līdzīgi kategorija.
Katrs tāpat ir unikāls ID.
Ir visas dažādas lietas datu, ka mēs varam iegūt veidu,
un, ja jūs interesē, izmantojot Facebook API ir CS50 galīgo projektu
vai kaut ko, piemēram, ka tas ir faktiski diezgan veicams.
Būtībā, kā jums apkārt autentifikācijas lieta ir Facebook
izmanto sistēmu, ko sauc OAuth, vai Open autentifikācija,
un es nevēlos, lai saņemtu to tagad, jo OAuth vai cita veida
autentifikācijas tendence mainīties daudz starp dažādām API,
lai es varētu pavadīt ilgu laiku iet pār katru vienu,
bet viņi patiesībā diezgan pašsaprotami.
>> Ja jūs Google Facebook API ir ļoti lasāms.
Tur viss spec.
Piemēram, tas ir dokumentācija par Facebook API,
un jūs varat redzēt, es esmu par lietotāja lapā, lai es varētu uzzināt visu par dažādiem lietas
kas ir pieejami, lai iegūtu cik vien datus
un arī dažādas atļaujas, kas man ir nepieciešams, lai piekļūtu tiem.
Kā mēs redzējām, mums nav nepieciešamas atļaujas, lai piekļūtu vārdu vai dzimumu,
bet tālāk, ka mums ir nepieciešams atļaujas vairumā lietas.
Šī lapa, vai drīzāk, šī tīmekļa vietne būs arī pateiks, kā nokļūt
simbolisku lai varētu autentificēt sevi.
Vairums autentifikācijas sistēmas izmantot kādu no simbolisku
kur jūs saņemsiet šo unikālo vērtību, kas ir patiešām garš un izlases string,
un tādā veidā viņi var saistīt pieprasījumu, ka jūs gūstat ar jums.
Citiem vārdiem sakot, viņi zina, ka jūs neesat darot kaut ko aizdomīgu, ar saviem datiem.
Viņi zina tieši to, ko jūs saņemat.
Viņi arī zina, ka jums ir atļauja skatīt šo informāciju.
>> Ja jūs esat veikuši Facebook app un jūsu app ir noteiktus lietotājus,
un šie lietotāji ir atļauts, ka app piekļūt dažas daļas no to profila,
tad neatkarīgi API atslēga vai žetons, ka app izmanto
būs iespēja piekļūt datiem par šiem lietotājiem.
Tas var izklausīties sarežģīti, bet tas nav pārāk slikti,
un, ja jūs vēlaties izmantot Facebook Es ļoti iesakām jums
uzskata spēlē aptuveni ar savu API.
Tas ir ļoti foršs, un jūs varat darīt daudz dažādas lietas ar to.
Ja lietotājs piešķir jums šos atļaujas jūs pat varat doties atpakaļ uz API
un teikt, es gribu tiešām nosūtīt uz šī lietotāja sienas, vai es gribu, lai tos publicētu fotoattēlu,
un tāpēc par savu ziņu barību jūs dažreiz saņemt šos kaitinošas lietas
Sakot jūsu draugs ir noskatījos šo video uz kaut kādu dīvainu vietu vai kaut kas tamlīdzīgs.
Tas ir tāpēc, ka app ir piešķirts pieejama pēc šīs personas sienas.
Ideja kopumā, Facebook API ir diezgan sarežģīti, bet arī ļoti noderīgs.
Noteikti ir vērts pārbaudīt, ja jūs joprojām meklējat galīgo projektu.
>> Vēl API komplekts, kas es esmu, kas iet pāri, ir CS50 API.
Ļaujiet man tuvinātu šeit.
CS50 ir faktiski likts kopā virkni API
ka jūs varat izmantot, lai pieņemtu galīgo projektu vai vienkārši par to, kas jūs esat veidošanā.
Un viņi lielākoties Hārvardas saistītas, un tās atšķiras no Huds izvēlnē
Piemēram, šī Harvard Notikumi API, kas ļauj piekļūt sarakstu
dažādi notikumi, kas notiek pie Harvard un ka veida lieta.
Un tā mēs varam noklikšķiniet uz kādu no šiem, un saņemt spec par to,
ko jūs varēsiet atrast jebkuru API, un ideja ir
tas ļauj uzzināt, konkrēti kādi pieprasīt no API un kā to pieprasīt.
Citiem vārdiem sakot, ja es gribu visus notikumus, kas notiek rīt
tad man ir acīmredzami arī tā, ka termiņš, ko es gribu, kas noteiktā formātā,
un B, tas man pateikt, ko tieši tas notiek, lai dotu atpakaļ uz mani.
Tā teikt es esmu gatavojas atgriezties jums šo JSON objektu,
vai, piemēram, jūs varat redzēt, tur ir dažādi formāti.
>> Jūs varat arī atgriezt datus kā CSV, piemēram.
Bet jūs zināt, kā tieši, ka dati ir skatīsies, kad jums to atpakaļ
lai jūs varētu sagaidīt darīt dažas lietas ar to.
Mēs varam ritināt uz leju un redzēt, piemēram, ja mēs vēlamies, lai vaicājumu API
lai iegūtu kalendāru, tad mēs varam izmantot šo konkrēto URL
un dod tai konkrēti parametri, kas ir būs dati, ka mēs vēlamies tieši.
Un tāpat, ja mēs gribam datus atpakaļ noteiktā formātā,
tad mēs varam lūgt, lai izvadīt datus CSV,
un tas ir tikai viens parametrs, ka mēs iet uz API.
Daudz labas lietas darīt tur.
Es noteikti ieteiktu pārbaudīt out CS50 API.
>> Es esmu gatavojas apskatīt šo Hārvarda pārtikas API jo īpaši, lai mazliet.
Viena lieta, ko es esmu faktiski izstrādāta tas ir Hārvarda Noms mājas lapā,
kas izmanto CS50 Pārtikas API lai ielādētu HUDS izvēlni dienu.
Un pagarinājumu skolu cilvēkiem, HUDS ir ēdamistaba dienests Harvard.
Kas jums ir šī lapa, kas satur visas dienas ēdienreizēs, tāpēc mēs redzam pusdienas.
Mums ir dažas dažādas kategorijas. Mums ir pupu un pilngraudu stacija.
Mums ir brūno rīsu staciju.
Mēs varam redzēt vēlās brokastis mums ir šīs dažas pārtikas preces.
Ja mēs noklikšķiniet uz viņiem, tad mēs iegūtu informāciju par uzturvērtību.
Jūs redzat šī ir informācija par uzturvērtību uz greipfrūta, ja jūs domājām.
Un tā atkal, mēs ejam, lai peer atpakaļ beigās šeit mazliet
un redzēt, ko tieši tas dara, lai iegūtu šo informāciju.
Un izrādās, ne patiesībā var būt ļoti sarežģīta vispār.
Šis fails izskatās mazliet netīrs, bet paturiet prātā, ka tas ir apstrādes visu portālu,
un ja es ritiniet uz leju, mēs redzam šo pārmaiņu datu funkciju.
>> Tagad, tikai lai būtu skaidrs, tas ir rakstīts CoffeeScript,
kas ir valodas, kas jums, iespējams, nav redzējis.
Bet tas ir diezgan lasāma, tāpēc es ņemšu staigāt pa to, it kā tas būtu pseudocode.
Izmaiņas diena ir funkcija, kas notiek, lai šo datumu vērtības,
un tas ir arī gatavojas uzņemt pirmais, kas mums nav jārūpējas par tik daudz.
Bet svarīgi ir tas, ka tā ir šo datumu,
un šis datums ir diena, ka mēs vēlamies lūgt visus pārtikas preces par.
Un tad jūs redzat mums ir mazliet sintaksi,
kas būtībā ir analizējot šo datumu lasāmā formātā.
Citiem vārdiem sakot, API pieprasa datumu noteiktā formātā.
Jūs varat ne tikai teikt 16 novembris 2012 AD.
Tas nebūs zināt, ko darīt ar to. Tā vēlas datumu noteiktā formātā.
Visi mēs darām šeit dod tieši tā, ka formāts,
kas ir gads un tālāk defisi, mēneša vērtība,
cits defise un datumu vērtības.
Un mēs arī teikt, ka mēs vēlamies, lai dati būtu izeja JSON.
>> Tagad mēs esam padarot šo AJAX pieprasījumu, un, kā jau iepriekš minēju,
jQuery ir šī super noderīgu AJAX funkciju, kas viss, kas jums jādara, ir norādīt
daži parametri noteikti šeit, un tas dos jums tieši to, ko jūs vēlaties.
Mēs stāstīt to, ka URL mēs vēlamies, lai tas iet uz tas CS50 Pārtikas API,
ko mēs saņēmām no spec.
Mēs sakām, ka mēs vēlamies datus JSON un ka
mēs esam gatavojas sniegt tai šos datus, kas mēs esam noteikti šeit.
Šī ir diena, mēs vēlamies pārtikas preces par.
Un tad viss, kas mums ir jādara, ir noteikt kaut kādas veiksmes funkciju,
kas būtībā ir tas, kas notiek, kad API atgriež šos datus.
Citiem vārdiem sakot, mēs esam iepakotas up visiem parametriem, ko mēs vēlamies,
kas šajā gadījumā ir diena, ka mēs gribam to un to, ka mēs vēlamies to JSON,
un mēs nosūtīja to off uz API, tāpēc tagad API saka, labi,
Šeit ir jūsu dati, es saņēmu to atpakaļ uz jums.
Mums ir veiksmes funkcija, kas nozīmē, ņemot vērā, ka API
veiksmīgi atgriežas daži dati, ko mums darīt ar to?
>> Un izrādās, ka viss, ko mēs darīt, ir zvanīt šis atjauninājums izvēlnes funkcija
ar kāda API ir atgriezies, lai mēs varam meklēt, ka
un redzēt, ka viss, ko mēs darām, ir, izmantojot ķekars jaunas sintakses šeit
atjaunināt HTML un ievietot šo jaunus datus.
Ko tas dod, ir mums ir šie bultiņām abās pusēs, un mēs varam noklikšķiniet,
un tagad mēs meklējam par nākamo dienu datiem un atkal nākamajā dienā,
un katru reizi, kad tā atjauninot šo datumu vērtību un vaicājumiem API,
iegūt atpakaļ dažus datus un nodot to vietā.
Atkal, jūs varat redzēt, super, super noderīgu.
Šī lietotne aizveda mani dažas stundas, lai banalizēt kopā,
un man ir mazliet vairāk pieredzes, protams, bet savu CS50 gala projektu
var izskatīties kaut kas ļoti daudz, piemēram, šis.
>> API ir super spēcīgs par piepūli, ka tās veic.
Pēdējā lieta, ko es esmu gatavojas iet pa ir daži daudz API kopumā.
Es ne iegūt, cik tajās cik to, ko viņi dara konkrēti,
bet es došu jums priekšstatu par to, kas tur.
2 tiešām noderīgi tiem, ja jūs interesē datu analīzi vai vizualizācija
vai kaut kas tamlīdzīgs, ir Freebase un Wikipedia.
Wikipedia-domājams jūs visi zināt, ir bezmaksas tiešsaistes enciklopēdija,
un tas tiešām ir API, tādēļ, ja jūs vēlaties, lai, piemēram,
saņemt visus tekstus un par astoņkāji rakstus
Jūs varat ļoti viegli darīt.
Tikai teikt hey, Wikipedia API, es gribētu tiem datiem, jo ​​tas,
un es gribētu to šajā formātā, un raksts es gribētu, ir astoņkājis,
un ļoti ātri tas dos jums atpakaļ šo informāciju.
Tas var būt patiesi noderīga, ja jūs vēlaties veikt kaut kādas vietas
tas labāk skatītājs Wikipedia vai kaut kas tamlīdzīgs.
>> Freebase ir veida līdzīga, lai gan tas ir mazliet grūtāk, cik API.
Freebase ir kā Wikipedia, jo tas ir tiešsaistes enciklopēdija
kas satur daudz un daudz dažādu datu par visu dažādām tēmām veidu,
bet tas glabājas relāciju datu bāzē, kas nedaudz atšķiras no Wikipedia.
Wikipedia ir savas raksti un raksti, kas saistīti ar citiem pantiem,
bet lielākā daļa, ja jūs vēlaties, datus par astoņkāji,
doties uz astoņkājis rakstu, iegūt šos datus, un jums ir ķekars teksta
par astoņkājiem, tā ka ir liels.
Freebase strādā nedaudz sarežģītāka veidā, ka
viss ir saistītas viena ar otru.
Citiem vārdiem sakot, ja mēs meklējam astoņkāju
tad tas ir ķekars kategoriju saistītas ar to.
>> Piemēram, tas ir dzīvnieks, tas dzīvo zemūdens,
tā ir noteiktu ķermeņa temperatūru.
Es nezinu.
Un visi no šīm kategorijām ir saites uz citām vietām, kur jūs varat iet
lai redzētu lietas ar šo pašu kategoriju.
Citiem vārdiem sakot, astoņkājis datu kopa varētu saturēt saiti uz datiem, kas par visiem dzīvniekiem,
un kas varētu ļaut man pārvietoties datubāzē tiešām ātri.
Tas var būt ļoti noderīgi, ja jūs darāt kaut ko līdzīgu salīdzinājumus.
Citiem vārdiem sakot, ņemot vērā dažas lietas, jūs vēlaties redzēt
ko vēl tas ir saistīts ar un redzēt, ko vēl tas nav saistīts ar.
Ka veida lieta. Tas var būt noderīgi dažādos veidos.
Ja jūs meklējat vairāk izaicinājums un lai varētu veikt dažas sarežģītākas lietas
Es uzskatu, ņemot apskatīt Freebase API.
Bet lielākoties, Wikipedia ir ļoti vienkāršs vieta, kur iet tik tālu, kā iegūt informāciju.
Vēl viena vieta, kas es ņemšu apskatīt ir Last.fm, un es esmu patiešām gatavojas doties uz vietni
gadījumā, ja daži cilvēki nav pazīstami, bet Last.fm ir būtībā mūzikas
gaumes un ieteikumi mājas lapā.
Jūs varat veikt kontu.
Jūs varat sākt augšupielādējot mūziku no jūsu mūzikas atskaņotāju
uz tīmekļa vietni, un būtībā tas sāks dodot jums mūzikas ieteikumus
pamatojoties uz to, ko jūs klausīties.
>> Piemēram, ja jums iet uz jūsu profila lapā-tas ir mīnu
Jūs varat redzēt, jums ir saraksts ar nesen klausījās dziesmas.
Jūs varat redzēt kopējo mīļākie mākslinieki, visi, ka veida lieta,
un atkal, tur ir liels API aiz Last.fm,
un jūs varat izmantot to darīt daudz un daudz tiešām labas lietas.
Piemēram, es iešu uz drauga lapā kurš ir šī Last.fm Tools mājas lapā.
Tas ir tiešām cita platforma, kas ir būvēts uz Last.fm API,
un tas vairākas diezgan interesantas lietas.
Ja es pieteikties ar savu lietotāja vārdu, piemēram,
Es varu lūgt to, lai radītu tagu mākonis, piemēram,
un ko tas gatavojas darīt, ir dot man atpakaļ tēlu
visi dažādu žanru un ka veida lieta, kas man patīk klausīties.
Kā tas ir to izdarīt?
Ļoti būtībā tas ir saprotams ar Last.fm API lūk šis lietotājs.
Es gribētu zināt žanra katru dziesmu, ka tie esam jebkad klausījās,
un jūs varat darīt, ka, veicot diezgan vienkāršs AJAX zvanu uz Last.fm API.
Jūs saņemsiet atpakaļ liels saraksts, un tad acīmredzot daži citi sīkumi tiek darīts
pārvērst to par vārda mākonis, bet jūs varat redzēt vispārējā
tas ir ļoti viegli piekļūt un ļoti viegli izmantot.
Tiešām jauks, lai vairākas lietas.
>> Es domāju, ka viss, ko es saku kopumā.
Viens no pēdējā lieta, ko es ņemšu pieminēt par API vispār ir tā, ka
jūs reizēm uzskriet kaut ko sauc likmi ierobežo,
un ātrumu ierobežojošs ideja ir jūs nevēlaties ļaunprātīgi API.
Citiem vārdiem sakot, tas ir patiešām jauki, ka no šīm tīmekļa vietnēm daudz ir API
ka jūs varat doties uz un izmantot par brīvu.
Tomēr, ja jūs gūstat miljoniem vai miljardiem pieprasījumu dienā,
Piemēram, ja jūs esat iestrēdzis bezgalīga cilpa, kas ir bezgala vaicājumiem
daži no API kārtot un saņemt atpakaļ milzīgu datu apjomu,
protams, ka nav labi, lai to, ko API daudz darīt, ir būt šo likmi ierobežo funkciju
kas saka, jūs varat tikai veikt 1000 pieprasījumus dienā par IP adresi vai kaut kas tamlīdzīgs.
Un, ja jūs darāt testēšanas daudz un ka veida lieta,
jūs reizēm uzskriet ka, un pēkšņi tas shut jums off
un teikt nē, es neesmu dodot jums vairāk datu.
>> Ko jūs vēlaties darīt, ir spēlēt pēc noteikumiem.
Jūs vēlaties pārliecināties, ka jūs lasīt API spec uzmanīgi.
Ja tas ir noteiktas normas, kas tai pievienoti, piemēram, jūs varat tikai veikt rentgena vaicājumus dienā
vai jūs varat piekļūt tikai daļu no datubāzes noteiktu skaitu reižu
vai kaut kas tamlīdzīgs, ka jūs vēlaties, lai pārliecinātos, ka jūs stick ar to.
Kamēr jūs spēlēt šajos noteikumos jūs, iespējams, ir tiešām jauks laiks, izmantojot API.
Jūsu kopējais takeaway ir API ir ļoti, ļoti noderīga.
>> Tur API gandrīz jebkura liela interneta pakalpojumu, kas tur.
Diezgan daudz jebkura daļa no Google Tools Suite, Google Maps, Google Earth,
Gmail, Google Calendar, visas šīs lietas ir API.
Jūs varat izmantot tos, lai gan iegūt datus no servera un nosūtīt datus uz serveri.
Citiem vārdiem sakot, ja jūs vēlētos, lai izveidotu kalendāra app, kas var atjaunināt
kāds ir Google Calendar, tur API to.
Ja jūs vēlaties, lai kaut kas notiek, lai pateikt, kur
par noteiktu adresi vieta ir varat izmantot Google Maps API par to.
API ir fantastiski noderīga, un viņi visur.
Ja jūs interesē kāda veida idejas,
tur droši vien saistītu API, kas var izmantot, lai iegūtu daudz datu
ļoti ātri un ļoti vienkārši.
>> Ja jūs joprojām meklējat projektam vai, ja jūs vienkārši vēlaties spēlēt aptuveni
ar kaut kopumā, API ir noteikti vērts darīt.
Paldies, un es esmu laimīgs, lai atbildētu uz visiem jautājumiem, kas jums puiši varētu būt.
Labi, pateicoties daudz.
[CS50.TV]