1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [Seminaari] [Ohjelmoijan Johdatus API] 2 00:00:02,480 --> 00:00:04,059 [Billy Janitsch] [Harvardin yliopisto] [Tommy MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [Tämä on CS50.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> Hei kaikki, olen Billy, ja tänään aion puhua API, 5 00:00:12,100 --> 00:00:15,220 tai ohjelmointirajapintojen, 6 00:00:15,220 --> 00:00:20,040 erityisesti yhteydessä CS50 opinnäytetyöt ja että sellainen asia. 7 00:00:20,040 --> 00:00:22,490 Yleensä mitä API? 8 00:00:22,490 --> 00:00:25,530 Erittäin väljästi, se tavallaan keskellä mies, joka mahdollistaa 2 kpl 9 00:00:25,530 --> 00:00:28,610 ohjelmistojen kommunikoida toistensa kanssa. 10 00:00:28,610 --> 00:00:32,530 Se on tavallaan erittäin laajaa määritelmää, ja ei ole niin merkitystä, mitä me tarkastelemme. 11 00:00:32,530 --> 00:00:35,450 Mitä me todella haluamme on jonkinlainen hyödyllisiä välimaasto 12 00:00:35,450 --> 00:00:40,570 kommunikoida jonkinlainen tietokannan jonnekin. 13 00:00:40,570 --> 00:00:43,310 >> Tässä on kaavio, ja pohjimmiltaan ajatus on, että 14 00:00:43,310 --> 00:00:46,790 Olemme sovellus, ja haluamme saada tietoja tietokantaan, 15 00:00:46,790 --> 00:00:49,570 mutta emme halua tehdä hakuja suoraan tietokantaan. 16 00:00:49,570 --> 00:00:52,710 Sen sijaan haluamme mennä läpi tällaista keskellä mies, API. 17 00:00:52,710 --> 00:00:55,440 Ajatus siitä, että on numerot 2 ja 3 kaavion 18 00:00:55,440 --> 00:00:57,750 ovat molemmat olemaan erittäin monimutkainen ja sekava. 19 00:00:57,750 --> 00:00:59,960 Toisin sanoen, kun API on kyselemällä tietokannasta, 20 00:00:59,960 --> 00:01:03,300 se luultavasti menossa käyttää SQL taulukot ja kaikki tällaista tavaraa, 21 00:01:03,300 --> 00:01:05,489 ja olemme oppineet vähän siitä sen CS50, mutta kaiken 22 00:01:05,489 --> 00:01:07,590 olet huomannut, että se on hieman kipua. 23 00:01:07,590 --> 00:01:10,590 Se tulee hyvin, hyvin monimutkainen ja sekava, varsinkin kun teet 24 00:01:10,590 --> 00:01:12,530 monimutkaisia ​​kyselyitä ja että sellainen asia. 25 00:01:12,530 --> 00:01:15,960 >> Mitä me todella haluamme on jonkinlainen hyödyllisiä ja yksinkertainen tapa 26 00:01:15,960 --> 00:01:19,780 saada tietojen, ja se idea numerot 1 ja 4 kaaviossa. 27 00:01:19,780 --> 00:01:23,600 Toisin sanoen haluamme todella yksinkertainen tapa kertoa API mitä saat meille 28 00:01:23,600 --> 00:01:27,760 ja todella helppo tapa saada että tiedot takaisin. 29 00:01:27,760 --> 00:01:33,020 On yksi keskeinen keino, että tiedot on yleensä lähetettyjen ja vastaanotettujen 30 00:01:33,020 --> 00:01:36,490 joka on JSON tai JavaScript Object Notation. 31 00:01:36,490 --> 00:01:40,370 Se voi vaihdella hieman niin pitkälle kuin miten lähetät pyynnön API. 32 00:01:40,370 --> 00:01:43,210 Toisin sanoen, jos haluat joitakin tietty määrä dataa, 33 00:01:43,210 --> 00:01:46,670 miten kertoa API saada että tiedot voivat vaihdella hieman. 34 00:01:46,670 --> 00:01:49,210 Yleensä se liittyy tehdä jonkinlainen verkon pyynnöstä. 35 00:01:49,210 --> 00:01:53,130 Toisin sanoen, päästä jonkinlainen URL aikoo kertoa API 36 00:01:53,130 --> 00:01:56,190 mitä haluat, mutta tietoja on lähes aina lähetetään takaisin, 37 00:01:56,190 --> 00:01:59,530 Toisin sanoen, numero 4 JSON. 38 00:01:59,530 --> 00:02:01,030 >> Mikä on JSON tarkalleen? 39 00:02:01,030 --> 00:02:03,030 Kuten sanoin, JavaScript Object Notation. 40 00:02:03,030 --> 00:02:07,090 Se on pohjimmiltaan yleinen standardi datan lähettämistä ja vastaanottamista. 41 00:02:07,090 --> 00:02:11,410 Ajatuksena on, että sinulla on nämä 3 kategoriaa asioita. 42 00:02:11,410 --> 00:02:13,540 Sinulla on taulukot, hashmaps ja perusalkioiden. 43 00:02:13,540 --> 00:02:16,580 Arrays ja hashmaps olet katseli hieman vuonna CS50, 44 00:02:16,580 --> 00:02:19,870 mutta olet tavallaan saanut erittäin suppeassa merkityksessä, mitä ne ovat. 45 00:02:19,870 --> 00:02:22,780 Toisin sanoen, matriiseja tiedät että he kirjoita sidottu, 46 00:02:22,780 --> 00:02:26,560 niin sinulla on vain yksi sellainen tyyppi, joka menee koko jono. 47 00:02:26,560 --> 00:02:29,310 JSON on paljon lievempi, että sellainen asia. 48 00:02:29,310 --> 00:02:33,590 Periaatteessa ajatus on teille rakentaa tämän esineen, 49 00:02:33,590 --> 00:02:36,270 joka voi koostua minkä tahansa näistä 3 asioita 50 00:02:36,270 --> 00:02:39,470 ja voi koostua useista niistä niistä, ja ne voivat olla sisäkkäisiä. 51 00:02:39,470 --> 00:02:42,110 >> Tässä on eräänlainen esimerkki JSON- 52 00:02:42,110 --> 00:02:47,910 mikä on näiden aaltosulkeisiin tässä kuvaamaan HashMap, 53 00:02:47,910 --> 00:02:51,400 ja HashMap on pohjimmiltaan kartoitus jonkinlainen avaimen 54 00:02:51,400 --> 00:02:53,340 jonkinlainen arvo. 55 00:02:53,340 --> 00:02:56,440 Näet täällä, että meillä on ominaisuuksia avain, 56 00:02:56,440 --> 00:02:59,600 ja että on kartoittaa päälle array, joka on koko tämä juttu. 57 00:02:59,600 --> 00:03:04,120 Näemme toinen osa HashMap, joka on tätä näppäintä isAwesome, 58 00:03:04,120 --> 00:03:07,370 joka karttoja primitiivisen arvon tosi, toisin sanoen, boolean. 59 00:03:07,370 --> 00:03:09,420 Primitives voi olla merkkijonoja. Ne voivat olla kokonaislukuja. 60 00:03:09,420 --> 00:03:11,960 Ne voivat olla bools, jotain sellaista. 61 00:03:11,960 --> 00:03:18,410 Ja näet sisältö array että ominaisuudet pistettä on 2 jousille se, 62 00:03:18,410 --> 00:03:20,050 itsestään samanlaisia ​​ja ihana. 63 00:03:20,050 --> 00:03:27,410 Nämä ovat 2 ominaisuudet JSON, ja näemme, että JSON on mahtava. 64 00:03:27,410 --> 00:03:30,060 Katsomaan sitä hieman tarkemmin aion rakentaa 65 00:03:30,060 --> 00:03:32,870 monimutkaisempi esimerkki JSON tässä. 66 00:03:32,870 --> 00:03:37,000 >> Aloitetaan array, esimerkiksi vain tyhjä jono. 67 00:03:37,000 --> 00:03:39,180 Mutta se on tavallaan tylsää, joten aiomme täyttää sitä hieman, 68 00:03:39,180 --> 00:03:43,420 ja kuten sanoin, taulukot JSON ovat tyyppiä sidottu, 69 00:03:43,420 --> 00:03:46,400 jotta voisimme myös olla merkkijono täällä, mikä on hi- 70 00:03:46,400 --> 00:03:49,330 ja se on toinen osa, joka array. 71 00:03:49,330 --> 00:03:53,450 Ja samoin, voisimme lisätä hashmapping täällä, mikä tulee olemaan muutamia kuvauksia. 72 00:03:53,450 --> 00:04:00,470 Se tulee olemaan kartoitus nimen merkkijono Billy. 73 00:04:00,470 --> 00:04:04,590 Meillä kartoitus nimen Billy, ja meillä kartoitus 74 00:04:04,590 --> 00:04:10,860 lempiväri on sininen. 75 00:04:10,860 --> 00:04:12,700 Se on pohjimmiltaan hyvä esimerkki JSON. 76 00:04:12,700 --> 00:04:18,160 Se tavallaan joutuu-Oho, täytyy pilkku siellä-kaikki eri osat. 77 00:04:18,160 --> 00:04:21,140 Jälleen, se ei kirjoita sido lainkaan, joten voit olla minkäänlaista tyyppejä 78 00:04:21,140 --> 00:04:24,710 sisällä mitä haluat, ja ajatus on se itsestään samanlaisia. 79 00:04:24,710 --> 00:04:28,830 Toisin sanoen, tämä oikeus tässä JSON esine on, kuten tässä koko asia, 80 00:04:28,830 --> 00:04:33,200 koska on juuri tämä, niin voit olla primitiivinen olla esine, 81 00:04:33,200 --> 00:04:35,680 array olla esineen tai HashMap olla objekti. 82 00:04:35,680 --> 00:04:40,270 >> Kun voi sellaista nähdä, JSON on todella hyödyllinen, että se on niin monipuolinen. 83 00:04:40,270 --> 00:04:45,860 Voit olla mahdollisia tietoja, joita voit kuvitella tallentaa JSON. 84 00:04:45,860 --> 00:04:47,900 Tämä tekee siitä todella mukava kieli käyttää API 85 00:04:47,900 --> 00:04:50,770 koska se aika paljon sitä, että mitä tietoja haluat 86 00:04:50,770 --> 00:04:54,270 siellä tulee olemaan jollain tavalla saada se takaisin JSON. 87 00:04:54,270 --> 00:04:58,600 Muutamia ominaisuuksia, jotka tekevät JSON erityisen hyvä näissä jutuissa. 88 00:04:58,600 --> 00:05:02,270 Kuten näette, kun paljon asioita, että olet työskennellyt vuonna CS50 89 00:05:02,270 --> 00:05:06,040 se on suhteellisen helppo lukea ja myös erittäin helppo kirjoittaa. 90 00:05:06,040 --> 00:05:09,700 Voit luetelmakohta sitä jos haluat, kuten tein tässä esimerkissä 91 00:05:09,700 --> 00:05:12,990 joka antaa sinulle mukava, kaunis versio, näet todella hyvin. 92 00:05:12,990 --> 00:05:17,150 Mutta lisäksi se on myös helppo lukea ja kirjoittaa tietokoneella. 93 00:05:17,150 --> 00:05:19,870 Toisin sanoen, se on helppo jäsentää ja helppo koodata, 94 00:05:19,870 --> 00:05:23,820 mikä tarkoittaa, että se on melko nopeasti niin pitkälle kuin tietojen lukemiseen on todettava, 95 00:05:23,820 --> 00:05:26,460 ja JSON voidaan tuottaa todella nopeasti. 96 00:05:26,460 --> 00:05:30,300 >> Se on myös erittäin helppo käyttää eri puolilla JSON ja että sellainen asia. 97 00:05:30,300 --> 00:05:33,320 Sepä mukavaa, ja lisäksi se, että se on itsestään samanlaisia, 98 00:05:33,320 --> 00:05:36,090 toisin sanoen se, että voit olla JSON sisällä JSON sisällä JSON 99 00:05:36,090 --> 00:05:40,040 on todella mukava tietovarastoina. 100 00:05:40,040 --> 00:05:45,490 Toinen osa, joka on yleensä todella hyödyllinen työskenneltäessä API on jQuery. 101 00:05:45,490 --> 00:05:49,290 Olet oppinut hieman JavaScript, joka on mukava tapa 102 00:05:49,290 --> 00:05:53,710 manipuloida HTML ja CSS sisällä verkkosivuilla. 103 00:05:53,710 --> 00:05:57,190 Mutta se voi sellaista olla tuskaa koodin tavallinen JavaScript, 104 00:05:57,190 --> 00:05:59,810 pitkälti siksi JavaScript on todella verbose kieltä. 105 00:05:59,810 --> 00:06:03,020 Sinun täytyy oppia paljon syntaksin, ja vain tehdä hyvin yksinkertaisia ​​asioita 106 00:06:03,020 --> 00:06:07,590 se vie paljon koodia, joten jQuery on kirjasto JavaScript. 107 00:06:07,590 --> 00:06:09,800 Toisin sanoen, se on JavaScript-tiedoston, jonka voit ladata 108 00:06:09,800 --> 00:06:12,730 ja sitten käyttää jQuery toimintoja tehdä tiettyjä asioita. 109 00:06:12,730 --> 00:06:15,670 Ja jQuery pohjimmiltaan tekee elämästä paljon helpompaa. 110 00:06:15,670 --> 00:06:20,390 Se yksinkertaistaa mitä vaatisi satoja rivejä JavaScript alas muutama rivi jQuery. 111 00:06:20,390 --> 00:06:24,430 >> Se on erityisen hyödyllinen, jos käytät API koska yleensä 112 00:06:24,430 --> 00:06:27,600 miten voit olla pääsy API on tekemällä AJAX pyyntöjä, 113 00:06:27,600 --> 00:06:30,130 ja uskon David on mainittu luento, AJAX pyynnöt 114 00:06:30,130 --> 00:06:33,120 ovat yleensä kun teet verkko pyynnön jonkinlainen palvelimen 115 00:06:33,120 --> 00:06:37,760 ja saada takaisin jonkinlainen tietoja ja päivittää sivun välittömästi. 116 00:06:37,760 --> 00:06:41,840 Taas tavallinen JavaScriptiä veisi hullu määrä rivejä 117 00:06:41,840 --> 00:06:44,620 vahvistaa kaikki otsikot ja tehdä kaikki tällaista tavaraa, 118 00:06:44,620 --> 00:06:46,810 jQuery on todella yksinkertainen toiminto nimeltään AJAX, 119 00:06:46,810 --> 00:06:51,760 ja kaikki sinun täytyy tehdä AJAX on antaa parametrit haluat antaa API 120 00:06:51,760 --> 00:06:56,830 sijainnin API ja muita sellaista vaihtoehtoa, jonka haluat määrittää. 121 00:06:56,830 --> 00:07:02,480 Se on todella, todella mukava ja erittäin hyödyllinen tällaista asiaa. 122 00:07:02,480 --> 00:07:06,970 Siinä kaikki meidän alkaa saada kätemme likainen API. 123 00:07:06,970 --> 00:07:10,220 >> Aion tuoda esille muutamia esimerkkejä ja tutkia niiden eri ominaisuuksia 124 00:07:10,220 --> 00:07:13,150 ja miksi ne ovat hyödyllisiä erilaisiin asioihin. 125 00:07:13,150 --> 00:07:15,570 Ensimmäinen asia, minä itse näytän sinulle on jotain, että olen työskennellyt 126 00:07:15,570 --> 00:07:18,310 minun Research Lab, joka on Ngram Viewer, 127 00:07:18,310 --> 00:07:23,270 ja pohjimmiltaan ajatusta Ngram Viewer on voit etsiä jonkinlaista sanan 128 00:07:23,270 --> 00:07:28,840 tai lause ja miten usein se ilmestyi tietty joukko tekstin ajan. 129 00:07:28,840 --> 00:07:33,160 Tämä esimerkki on tämä tieto joukko vauvoja 130 00:07:33,160 --> 00:07:36,480 jotka syntyivät New Yorkissa 1920 ja 2000. 131 00:07:36,480 --> 00:07:40,090 Voimme etsiä, esimerkiksi, nimeä Jennifer, 132 00:07:40,090 --> 00:07:44,400 ja me näemme, että pre-1960 se todellakaan ole käytetty kovin paljon, 133 00:07:44,400 --> 00:07:48,900 ja sitten kun pääsemme myöhempinä vuosina se on yhä käytetään yhä enemmän. 134 00:07:48,900 --> 00:07:53,680 Voimme myös tehdä vertailuja, joten jos vertaamme Jennifer, esimerkiksi, Thomas, 135 00:07:53,680 --> 00:07:56,520 näemme Thomas on ollut melko yleisiä koko historian, 136 00:07:56,520 --> 00:07:58,780 katsoo Jennifer on uudempi nimi. 137 00:07:58,780 --> 00:08:00,590 Voimme tehdä että sellainen asia. 138 00:08:00,590 --> 00:08:02,460 >> Miten tämä sovellus toimii? 139 00:08:02,460 --> 00:08:06,030 Periaatteessa se toimii kautta API. 140 00:08:06,030 --> 00:08:08,660 Toisin sanoen, meillä on tiettyjä parametreja tässä. 141 00:08:08,660 --> 00:08:11,360 Meillä parametrit mitä me todella etsivät, 142 00:08:11,360 --> 00:08:13,720 jotka ovat nämä nimet, ja sitten meillä on muutamia muita ominaisuuksia, 143 00:08:13,720 --> 00:08:16,570 kuten Y-akselin ja X-akselilla. 144 00:08:16,570 --> 00:08:18,440 Näet meillä on muutama eri vaihtoehtoja niin pitkälle kuin 145 00:08:18,440 --> 00:08:20,860 aikaresoluutioon käyttää ja että sellainen asia. 146 00:08:20,860 --> 00:08:26,700 Meillä on nämä vaihtoehdot niin pitkälle kuin mitä tietoja me todella haluamme tietokannasta, 147 00:08:26,700 --> 00:08:29,400 ja haluamme saada että tiedot takaisin jollakin hyödyllisellä tavalla. 148 00:08:29,400 --> 00:08:34,020 Tavallisesti jos olisimme kysely suoraan tietokantaan olisi tavallaan olla tuskaa tehdä 149 00:08:34,020 --> 00:08:38,970 koska oletettavasti tämä tietoa vauvan nimiä asuu joissakin tietokantaan jonnekin, 150 00:08:38,970 --> 00:08:42,789 ja se olisi todella monimutkaista on kyselyn sen manuaalisesti 151 00:08:42,789 --> 00:08:45,830 ja päättää, mitä tietoja palata. 152 00:08:45,830 --> 00:08:49,300 Toisin sanoen, me vain välitä Jennifer ja Thomas tässä tapauksessa, 153 00:08:49,300 --> 00:08:53,410 ja me vain välitä tietyllä akselilla ja kaikki tällaista tavaraa. 154 00:08:53,410 --> 00:08:55,720 >> Miten kiertää tämän? 155 00:08:55,720 --> 00:09:01,200 Kaivaa tämä API hieman näytän teille toisen esimerkin tämän foorumin 156 00:09:01,200 --> 00:09:04,490 joka käyttää hieman eri tietokokonaisuutta. 157 00:09:04,490 --> 00:09:09,950 Tämä tietokokonaisuus, sen sijaan että vauvan nimiä, on oikeastaan ​​vain koko 158 00:09:09,950 --> 00:09:12,460 tulostaa julkaisun tietokanta Open Library, 159 00:09:12,460 --> 00:09:18,410 mikä on jättiläinen lähde julkaistut tekstit koko viime 100 tai niin vuotta. 160 00:09:18,410 --> 00:09:23,540 Ajatus on, että meillä on tämä compository miljoonia ja miljoonia tekstiä, 161 00:09:23,540 --> 00:09:27,420 jonka voimme nyt etsiä eri sanoja ja lauseita sisään 162 00:09:27,420 --> 00:09:30,840 Tässä esimerkki, joka vaihtelee hieman eri edellisen esimerkin 163 00:09:30,840 --> 00:09:33,350 Näytin teille, mikä on meillä nämä 3 hakuja, 164 00:09:33,350 --> 00:09:36,290 sota, sota, ja Ranskan sana sota, joka on guerre. 165 00:09:36,290 --> 00:09:40,380 Ja me etsit vajaan 3 eri osissa koko tietokannan. 166 00:09:40,380 --> 00:09:45,080 Toisin sanoen, tässä ensimmäisessä kyselyssä olemme vain etsivät Yhdysvalloissa, 167 00:09:45,080 --> 00:09:51,150 on toinen vain Isossa-Britanniassa, ja kolmas vain teoksiin Ranskassa. 168 00:09:51,150 --> 00:09:53,120 Näemme mielenkiintoisia kuvioita syntyy. 169 00:09:53,120 --> 00:09:58,180 Esimerkiksi näemme oikeus täällä joka- 170 00:09:58,180 --> 00:10:02,410 Oho, olen sekaisin akselia hieman, mutta voit nähdä oikeassa tällä alueella täällä 171 00:10:02,410 --> 00:10:05,730 ympärillä sisällissota siellä iso piikki Amerikan painos 172 00:10:05,730 --> 00:10:08,340 , mutta ei niin iso piikki kaksi muuta, ja se on ilmeisesti siitä syystä, 173 00:10:08,340 --> 00:10:10,880 American Civil War tapahtui tuolloin. 174 00:10:10,880 --> 00:10:13,890 >> Voimme nähdä hienoja juttuja siellä, 175 00:10:13,890 --> 00:10:17,070 mutta mitä me oikeastaan ​​välitä miten saimme tämän tiedon. 176 00:10:17,070 --> 00:10:21,320 Vien sinut kulissien taakse tämän app hieman. 177 00:10:21,320 --> 00:10:24,540 Siisti temppu on, jos olet työskennellyt sivuston ja millaisia ​​haluavat tietää 178 00:10:24,540 --> 00:10:27,430 mitä tapahtuu kulissien takana, voit avata kehitystyökalut. 179 00:10:27,430 --> 00:10:30,200 Aion käyttää Chromen kehittäjä työkaluja ja saada niihin 180 00:10:30,200 --> 00:10:35,160 voit tehdä ohjaus, muutos, J, ja joka vie sinut JavaScript-konsoli. 181 00:10:35,160 --> 00:10:37,420 On olemassa muutamia välilehtiä tässä. 182 00:10:37,420 --> 00:10:39,680 Ne voivat kaikki olla melko hyödyllinen eri olosuhteissa, mutta minä välitän verkon 183 00:10:39,680 --> 00:10:44,150 välilehti nyt, ja olen oikeastaan ​​tarvitse päivittää saada se työ. 184 00:10:44,150 --> 00:10:50,180 Anteeksi. 185 00:10:50,180 --> 00:10:52,320 Se haluaa antaa satunnainen esimerkki. 186 00:10:52,320 --> 00:10:54,700 Okei, käytämme tässä esimerkissä sijaan sitten. 187 00:10:54,700 --> 00:11:01,330 >> Ajatuksena on siellä tällä API täällä, 188 00:11:01,330 --> 00:11:05,330 ja näet mitä API on palaamassa. 189 00:11:05,330 --> 00:11:10,220 Tämä on mitä sovellus on tulossa takaisin API on lähettänyt tämän pyynnön. 190 00:11:10,220 --> 00:11:13,680 Saanen suurentaa hieman, 191 00:11:13,680 --> 00:11:18,340 ja voimme periaatteessa nähdä se on vain joukko keskeisiä arvo-pareista JSON. 192 00:11:18,340 --> 00:11:23,220 Toisin sanoen, meillä on tämä HashMap täällä on kartoitus arvoja. 193 00:11:23,220 --> 00:11:26,440 Toisin sanoen, se on kartoitus vuotta arvoja. 194 00:11:26,440 --> 00:11:32,600 Vuonna 1765 mitä sana me aluksi etsitään käytetään 90 kertaa 195 00:11:32,600 --> 00:11:35,810 yhteensä 1 miljoonaa euroa, joten olemme pääsemässä takaisin tämän tuloksen. 196 00:11:35,810 --> 00:11:40,280 Se ei ole aivan JSON koska meillä on tämä pieni tuloksen otsikon täällä, 197 00:11:40,280 --> 00:11:45,630 mutta huomaa, että tämä koko kohde tässä on vain iso JSON möykky. 198 00:11:45,630 --> 00:11:51,070 Meillä on joukko täällä joka sisältää tämän koko elementti, 199 00:11:51,070 --> 00:11:55,590 ja voit nähdä, että koko elementti päättyy sinne, ja sitten meillä on toinen suuri tekijä 200 00:11:55,590 --> 00:11:59,430 että menee kaikki alas loppuun, ja se päättyy tähän. 201 00:11:59,430 --> 00:12:02,200 Meillä on todella iso array kanssa 2 esineitä siinä, 202 00:12:02,200 --> 00:12:04,630 ja jokaisen näistä kohteista on HashMap. 203 00:12:04,630 --> 00:12:07,340 Näet Kuhunkin hashmaps meillä kartoitus 204 00:12:07,340 --> 00:12:12,700 Tämän indeksin arvoksi 0 ja tämä arvo arvo toiseen HashMap, 205 00:12:12,700 --> 00:12:18,360 joka taas on kartoittaa X-akselin arvot Y-akselin arvot. 206 00:12:18,360 --> 00:12:20,970 >> Näet JSON saa hieman monimutkaiselta, mutta kaiken 207 00:12:20,970 --> 00:12:24,190 se on oikeastaan ​​erittäin hyödyllinen, ja se on erittäin helppo käyttää kuin 208 00:12:24,190 --> 00:12:27,390 muut eri merkintää. 209 00:12:27,390 --> 00:12:30,550 Sikäli kuin mitä me todella lähettävät dataa API saada, 210 00:12:30,550 --> 00:12:34,690 Aion mennä takaisin pää vähän täällä. 211 00:12:34,690 --> 00:12:39,850 Tämä on iso JavaScript-tiedoston käsittelyssä kaikki vuorovaikutukset web app, 212 00:12:39,850 --> 00:12:44,810 joten emme välitä useimmat tämän, mutta me välitämme osa siitä. 213 00:12:44,810 --> 00:12:47,410 Esimerkiksi välitämme tästä buildQuery toiminto, 214 00:12:47,410 --> 00:12:50,670 ja ajatus tämä toiminto on pohjimmiltaan se katselee ympärilleen sivulla 215 00:12:50,670 --> 00:12:53,750 mietitään, mitä käyttäjä haluaa kyselyn, toisin sanoen, 216 00:12:53,750 --> 00:12:57,090 tarkistaa ne laatikot, joissa he ovat tulo heidän hakutermejä, 217 00:12:57,090 --> 00:13:01,380 tarkkailun eri Y ja X-akselin arvot he ovat valinneet ja kaikki että sellainen asia, 218 00:13:01,380 --> 00:13:06,650 ja se tulee sylkemään tämän kyselyn arvoa, jonka voin lähettää pois API. 219 00:13:06,650 --> 00:13:09,180 >> Tämä vaikuttaa monimutkaiselta, ja se on melko monimutkainen 220 00:13:09,180 --> 00:13:18,090 mutta mitä aion tehdä, itseasiassa olen jo näin, mikä on hyvä, 221 00:13:18,090 --> 00:13:21,640 että aion saada konsoli tulostaa tarkasti, että kyselyn arvoa 222 00:13:21,640 --> 00:13:28,110 että se lähettää pois API. 223 00:13:28,110 --> 00:13:30,870 Se on oikeastaan ​​täällä. Anteeksi, se tuottaa paljon asioita. 224 00:13:30,870 --> 00:13:33,690 Mutta tämä on mitä me välitämme, tämä esine täällä. 225 00:13:33,690 --> 00:13:35,300 Tämä on kyselyn kohteena. 226 00:13:35,300 --> 00:13:40,670 Toisin sanoen, tämä on juuri sitä, mitä web-sovellus on lähettää API, 227 00:13:40,670 --> 00:13:45,730 joten katsotaanpa sisällä hieman, ja näemme meillä on muutamia arvoja tästä. 228 00:13:45,730 --> 00:13:48,710 Näemme meillä on tämä count tyyppi, joka on tapahtumien per miljoona sanaa, 229 00:13:48,710 --> 00:13:51,460 joka on juuri olemme valinneet Y-akselilla tänne. 230 00:13:51,460 --> 00:13:53,740 Siellä se on lähtöisin. 231 00:13:53,740 --> 00:13:58,010 Meillä on tietokanta-arvo, mikä tarkoittaa, että on olemassa joitakin tiettyjä tietokantaan 232 00:13:58,010 --> 00:14:01,610 että tämä tieto on elää, ja haluamme päästä, että tietoja erityisesti 233 00:14:01,610 --> 00:14:04,950 toisin kuin vauvan nimiä tiedot, esimerkiksi. 234 00:14:04,950 --> 00:14:08,320 Sitten meillä on tämä ryhmiä arvoa, 235 00:14:08,320 --> 00:14:12,090 joka sanoo, että haluamme etsiä vuoteen verrattuna 236 00:14:12,090 --> 00:14:16,030 kaikki muut X-akselin arvo. 237 00:14:16,030 --> 00:14:19,040 Sitten meillä on menetelmä, jonka jotkut API tekevät useita asioita. 238 00:14:19,040 --> 00:14:22,360 Toisin sanoen, tämä API voi myös palauttaa muunlaisia ​​tietoja, 239 00:14:22,360 --> 00:14:27,740 mutta tässä tapauksessa, haluamme että kartoitus X-akselin arvot Y-akselin arvot. 240 00:14:27,740 --> 00:14:30,730 Sitä se kertoo sen tehdä siellä, 241 00:14:30,730 --> 00:14:35,020 ja meillä on tämä haku rajoja array, joka sisältää 2 arvoja. 242 00:14:35,020 --> 00:14:40,720 Ensimmäinen on se, mitä näemme täällä, mikä on kaikkien arvojen 243 00:14:40,720 --> 00:14:43,020 sisällä että ensin pienen laatikon yläreunassa. 244 00:14:43,020 --> 00:14:47,570 >> Toisin sanoen haluamme etsiä sanan taisteluun, ja haluamme suodattaa sen 245 00:14:47,570 --> 00:14:51,920 by Englanti tekstien sisällä amerikkalaisessa kirjallisuudessa. 246 00:14:51,920 --> 00:14:54,590 Meillä on tässä maassa, joka on USA. 247 00:14:54,590 --> 00:14:59,130 Meillä on kieli, joka on Englanti, joten meillä on kaikki nämä eri osat 248 00:14:59,130 --> 00:15:02,690 että kaikki kertovat API mitä me haluamme. 249 00:15:02,690 --> 00:15:04,940 Emme tiedä, mitä tietoja, että saamme takaisin on vielä 250 00:15:04,940 --> 00:15:10,970 mutta me tiedämme, että data vie tietyssä muodossa. 251 00:15:10,970 --> 00:15:13,650 Tämä esimerkki on tavallaan päällä monimutkaisia ​​puolella, 252 00:15:13,650 --> 00:15:16,180 ja et välttämättä käyttää API tätä monimutkaista, 253 00:15:16,180 --> 00:15:20,600 mutta tämä on näyttää sinulle valikoiman ja tehoa mitä API voi tehdä. 254 00:15:20,600 --> 00:15:24,980 Toisin sanoen, käyttäen suhteellisen yksinkertaista tietojenhakujärjestelmä meillä periaatteessa on kirjoitusruutu 255 00:15:24,980 --> 00:15:29,490 kanssa muutamia muita valitsimia eri paikoissa. 256 00:15:29,490 --> 00:15:32,010 >> Saanen zoomata takaisin tänne. 257 00:15:32,010 --> 00:15:37,720 Meillä kirjoitusruutu muutamaa eri metatietoja valintoja, 258 00:15:37,720 --> 00:15:40,610 ja meillä on Y-akselin ja X-akselin valinnat. 259 00:15:40,610 --> 00:15:42,830 Meillä ei oikeastaan ​​ole, että monilla aloilla, 260 00:15:42,830 --> 00:15:46,210 ja voimme nähdä helposti pystymme kyselyn jonkinlainen API 261 00:15:46,210 --> 00:15:48,510 ja saada tiedot takaisin, ja sitten laittaa se tähän kaavioon, 262 00:15:48,510 --> 00:15:52,080 joka on sitten menossa näyttämään sitä hyödyllisellä tavalla. 263 00:15:52,080 --> 00:15:54,970 Voit katsoa toisen esimerkin, joka voisi olla hieman tutulta kaverit 264 00:15:54,970 --> 00:15:56,510 aiomme kääntyä Facebookiin. 265 00:15:56,510 --> 00:15:59,440 Facebook API kutsutaan Facebook Graph- 266 00:15:59,440 --> 00:16:04,390 ja pohjimmiltaan mitä se tarkoittaa on Facebook näkee itsensä tämän massiivisen tietokannan 267 00:16:04,390 --> 00:16:08,000 Erien eri osien, että kaikilla on tietyt suhteet toisiinsa. 268 00:16:08,000 --> 00:16:11,070 Toisin sanoen, olen käyttäjä Facebookissa, joten minulla on profiili, 269 00:16:11,070 --> 00:16:14,310 ja minulla on myös tiettyjä ystäviä, ja jokainen niistä on profiili, 270 00:16:14,310 --> 00:16:17,580 ja kukin ystäväni on seinä, joka on eri kommentteja se, 271 00:16:17,580 --> 00:16:20,800 ja jokainen näistä huomioista on tykkää ja kaikki että sellainen asia. 272 00:16:20,800 --> 00:16:23,100 >> On paljon eri osien Facebookiin. 273 00:16:23,100 --> 00:16:26,670 Se on erittäin monimutkainen API, ja siellä tonnia voit tehdä sen, 274 00:16:26,670 --> 00:16:28,450 mutta se on oikeastaan ​​aika yksinkertainen käyttää. 275 00:16:28,450 --> 00:16:33,680 Aion aloittaa menemällä graph.facebook.com / billyjanitsch, 276 00:16:33,680 --> 00:16:38,430 mikä on minun yksilöllinen käyttäjätunnus ja tilin nimi joko 277 00:16:38,430 --> 00:16:43,710 jonkinlainen sana, jos olet valinnut sen, tai se voi olla juuri numerosarjan. 278 00:16:43,710 --> 00:16:46,360 Mitä saamme takaisin on melko perustiedot. 279 00:16:46,360 --> 00:16:50,460 Näemme, että minulla on etunimi, joka on Billy, sukunimi, joka on Janitsch. 280 00:16:50,460 --> 00:16:53,370 On ainutlaatuinen Facebook ID jotka olen. 281 00:16:53,370 --> 00:16:57,920 Voit nähdä, että olen mies ja minulla on kieliasetusta 282 00:16:57,920 --> 00:17:01,290 British Englanti. 283 00:17:01,290 --> 00:17:03,490 Toisin sanoen, me näemme hyvin perus tietoa täältä. 284 00:17:03,490 --> 00:17:08,670 Se ei ole liikaa, mutta se antaa meille käsityksen siitä, mitä on olemassa. 285 00:17:08,670 --> 00:17:10,849 >> Voimme tehdä sama asia David Malan, esimerkiksi. 286 00:17:10,849 --> 00:17:13,599 Mielestäni hänen nimensä on dmalan. 287 00:17:13,599 --> 00:17:16,369 Näemme David Malan on yksilöllinen tunnus. 288 00:17:16,369 --> 00:17:19,300 Hänellä on nimi, etunimi, toinen nimi, sukunimi. 289 00:17:19,300 --> 00:17:24,210 Näemme myös, että hän on mies ja hänellä on kieli asetettu US Englanti. 290 00:17:24,210 --> 00:17:26,869 Toisin sanoen, me näemme melko perus tietoa täältä. 291 00:17:26,869 --> 00:17:28,860 Nyt, mitä tapahtuu, jos yritämme tarkistaa jotain muuta? 292 00:17:28,860 --> 00:17:33,060 Sanotaan olen kiinnostunut siitä, mitä David Malan on halunnut Facebookissa. 293 00:17:33,060 --> 00:17:36,860 Voin tehdä / tykkää. Nyt olemme törmätä ongelmaan. 294 00:17:36,860 --> 00:17:39,280 Meillä jonkinlainen virhe, joka sanoo käyttöoikeustunnukseksi 295 00:17:39,280 --> 00:17:41,660 on pyydettävä tätä resurssia. 296 00:17:41,660 --> 00:17:44,730 Mutta jos ajattelee sitä, että todella järkevää, koska se olisi outoa 297 00:17:44,730 --> 00:17:47,830 jos voisit käyttää joka ikinen osa Facebookin tietokannasta 298 00:17:47,830 --> 00:17:50,170 pelkästään jonkinlaista yksinkertaista API, eikö? 299 00:17:50,170 --> 00:17:56,040 Toisin sanoen, oletettavasti sinun tietoja ei voi käyttää kuka tahansa, joka haluaa sitä. 300 00:17:56,040 --> 00:17:58,330 >> Tämä virhe on juuri mitä se tarkoittaa. 301 00:17:58,330 --> 00:18:03,630 Jotkut API vaativat tiettyjä käyttöoikeuksia voidakseen tutustua omiin tietoihinsa. 302 00:18:03,630 --> 00:18:06,940 Ja vielä kehittynyt API, kuten Facebook-yksi, 303 00:18:06,940 --> 00:18:09,840 edellyttää tiettyjä oikeuksia tehdä tiettyjä asioita. 304 00:18:09,840 --> 00:18:12,650 Näen tämän perustietoa David Malan. 305 00:18:12,650 --> 00:18:15,950 Voin nähdä, että hän on mies ja että hän asuu Yhdysvalloissa, 306 00:18:15,950 --> 00:18:19,270 mutta en todellakaan näe mitään menneisyyteen. 307 00:18:19,270 --> 00:18:23,050 Voit kiertää tämän nyt, Facebook on tämä hieno työkalu 308 00:18:23,050 --> 00:18:27,690 joka on kuvaaja API tutkimusmatkailija, ja ajatus siitä, että on voi tavallaan 309 00:18:27,690 --> 00:18:31,880 muodostavat käyttöoikeudet itsellesi perustuu sinun omaan 310 00:18:31,880 --> 00:18:35,680 ja sitten katsella asioita, jotka nimenomaan tilin voi katsella. 311 00:18:35,680 --> 00:18:45,120 Esimerkiksi, jos en graph.facebook.com/billyjanitsch/likes- 312 00:18:45,120 --> 00:18:53,510 Oho, kai täytyy uusimiseen minun token täällä. 313 00:18:53,510 --> 00:18:55,950 Okei. 314 00:18:55,950 --> 00:19:01,740 Jos teen sen taas, suuri, nyt näen, että saan tämän esineen takaisin 315 00:19:01,740 --> 00:19:06,300 jonka mukaan pidän allas nuudelit, jotka ovat luokassa Pelit ja lelut. 316 00:19:06,300 --> 00:19:08,620 Pidän mursut, jotka ovat luokassa Animal. 317 00:19:08,620 --> 00:19:10,180 Nämä ovat minun todellisia Facebook tykkää. 318 00:19:10,180 --> 00:19:13,280 He tavallaan kiusallista. 319 00:19:13,280 --> 00:19:16,090 >> Mutta voimme nähdä nämä tiedot kaikille palautetaan JSON. 320 00:19:16,090 --> 00:19:18,160 Se on melko luettavissa. 321 00:19:18,160 --> 00:19:20,970 Toisin sanoen, meillä on tämä kartoitus tietojen jonkinlainen array, 322 00:19:20,970 --> 00:19:25,220 ja kukin osa tätä array on HashMap, joka kuvaa 323 00:19:25,220 --> 00:19:28,530 nimi kuvaus ja luokka, kuten. 324 00:19:28,530 --> 00:19:31,240 Jokaisessa kuin on yksilöllinen tunnus. 325 00:19:31,240 --> 00:19:34,510 On kaikenlaisia ​​eri asioita tietoja saamme, 326 00:19:34,510 --> 00:19:37,980 ja jos olet kiinnostunut käyttämään Facebook API CS50 opinnäytetyön 327 00:19:37,980 --> 00:19:40,720 tai mitään sellaista, että se on oikeastaan ​​aika toteutettavissa. 328 00:19:40,720 --> 00:19:44,260 Pohjimmiltaan miten kiertää autentikointi asia on Facebook 329 00:19:44,260 --> 00:19:48,030 käyttää järjestelmää kutsutaan OAuth tai Open Authentication, 330 00:19:48,030 --> 00:19:52,870 enkä halua mennä sen nyt, koska OAuth tai eri tyyppiä 331 00:19:52,870 --> 00:19:56,060 todistusvoimaiseksi taipumus vaihdella paljon eri API, 332 00:19:56,060 --> 00:19:58,320 joten voisin viettää aikaa menee yli jokainen, 333 00:19:58,320 --> 00:20:01,170 mutta he oikeastaan ​​aika itsestäänselviä. 334 00:20:01,170 --> 00:20:04,050 >> Jos Google Facebook API on hyvin luettavissa. 335 00:20:04,050 --> 00:20:06,670 On koko spec. 336 00:20:06,670 --> 00:20:10,210 Esimerkiksi tämä on asiakirjat Facebook API, 337 00:20:10,210 --> 00:20:14,170 ja näet olen Käyttäjän sivulla, joten voin oppia kaikki eri asioita 338 00:20:14,170 --> 00:20:17,170 , jotka ovat käytettävissä niin pitkälle kuin data 339 00:20:17,170 --> 00:20:21,550 ja myös erilaiset käyttöoikeudet minun voidakseen käyttää niitä. 340 00:20:21,550 --> 00:20:25,470 Kuten näimme, meidän ei tarvitse lupaa käyttää nimeä tai sukupuoli- 341 00:20:25,470 --> 00:20:29,380 Mutta sen jälkeen me tarvitsemme käyttöoikeudet useimmat asiat. 342 00:20:29,380 --> 00:20:33,040 Tällä sivulla, tai pikemminkin, tämä sivusto kertoo myös, miten saat 343 00:20:33,040 --> 00:20:35,640 token pystyä todentamaan itsesi. 344 00:20:35,640 --> 00:20:39,290 Useimmat todennus järjestelmät käyttävät jonkinlaista symbolista 345 00:20:39,290 --> 00:20:42,880 jos saat tätä ainutlaatuista arvoa, joka on todella pitkä ja satunnainen merkkijono, 346 00:20:42,880 --> 00:20:46,240 ja näin he voivat liittää pyynnön, että teet kanssasi. 347 00:20:46,240 --> 00:20:50,560 Toisin sanoen, he tietävät, että et tee mitään epäilyttävää tietonsa. 348 00:20:50,560 --> 00:20:53,340 He tietävät tarkalleen mitä saat. 349 00:20:53,340 --> 00:20:56,180 He tietävät myös, että sinulla on lupa tarkastella näitä tietoja. 350 00:20:56,180 --> 00:20:59,110 >> Jos olet tehnyt Facebook-sovellus ja App on tiettyjä käyttäjiä, 351 00:20:59,110 --> 00:21:03,380 sekä ne käyttäjät ovat sallineet, että sovellus käyttää tiettyjä osia niiden profiilin, 352 00:21:03,380 --> 00:21:07,790 Sitten mitä API-avain tai token että sovellus käyttää 353 00:21:07,790 --> 00:21:11,090 voi käyttää tietoja niille käyttäjille. 354 00:21:11,090 --> 00:21:13,780 Tämä saattaa kuulostaa monimutkaiselta, mutta se ei ole liian huono, 355 00:21:13,780 --> 00:21:16,810 ja jos haluat käyttää Facebook Olisin erittäin suositeltavaa, että 356 00:21:16,810 --> 00:21:18,990 pitävät leikkimisestä heidän API. 357 00:21:18,990 --> 00:21:21,610 Se on hyvin viileä, ja voit tehdä paljon erilaisia ​​asioita sen kanssa. 358 00:21:21,610 --> 00:21:24,880 Jos käyttäjä antaa teille nämä oikeudet, voit jopa palata API 359 00:21:24,880 --> 00:21:28,820 ja sanoa haluan todella lähettää tämän käyttäjän seinä tai haluan ne lähettää valokuvan, 360 00:21:28,820 --> 00:21:32,390 ja siksi teidän uutissyöte voit joskus niitä harmittaa asiat 361 00:21:32,390 --> 00:21:37,840 sanonta ystäväsi on nähnyt tämän videon jonkinlainen outo sivuston tai jotain. 362 00:21:37,840 --> 00:21:43,120 Tämä johtuu siitä, että sovellus on myönnetty oikeutta lähettää kyseisen henkilön seinällä. 363 00:21:43,120 --> 00:21:48,350 Ajatus kaiken Facebook API on melko monimutkainen, mutta myös todella hyödyllinen. 364 00:21:48,350 --> 00:21:53,220 Ehdottomasti kannattaa tsekata, jos olet vielä etsimässä opinnäytetyön. 365 00:21:53,220 --> 00:21:57,930 >> Toinen sarja API aion mennä yli on CS50 API. 366 00:21:57,930 --> 00:22:00,070 Saanen zoomata tänne. 367 00:22:00,070 --> 00:22:03,390 CS50 on todella koonnut koko joukon API 368 00:22:03,390 --> 00:22:07,080 että voit käyttää opinnäytetyön tai vain jotain, että teet. 369 00:22:07,080 --> 00:22:12,830 Ja he enimmäkseen Harvard liittyviä, ja ne vaihtelevat Huds valikosta, 370 00:22:12,830 --> 00:22:17,780 Esimerkiksi tähän Harvard Tapahtumat API, jonka avulla voit avata luettelon 371 00:22:17,780 --> 00:22:21,290 erilaisia ​​tapahtumia, jotka ovat menossa Harvardin ja sen sellaista. 372 00:22:21,290 --> 00:22:24,510 Ja niin voimme napsauttaa mitä tahansa näistä ja saada spec sitä, 373 00:22:24,510 --> 00:22:28,090 jonka voit löytää mistään API ja idea on 374 00:22:28,090 --> 00:22:33,920 sen avulla tiedät, erityisesti mitä pyytää API ja miten pyytää sitä. 375 00:22:33,920 --> 00:22:37,370 Toisin sanoen, jos haluan kaikki tapahtumat, jotka tapahtuvat huomenna 376 00:22:37,370 --> 00:22:42,550 sitten täytyy tietenkin antaa se, että päivämäärän että haluan tietyssä muodossa, 377 00:22:42,550 --> 00:22:46,030 ja B, se kertoo minulle, mitä se tulee antamaan takaisin minulle. 378 00:22:46,030 --> 00:22:48,590 Se sano aion palata teille tämän JSON esine, 379 00:22:48,590 --> 00:22:50,960 tai kuten näette, on olemassa eri muodoissa. 380 00:22:50,960 --> 00:22:54,050 >> Voit myös palauttaa tiedot CSV, esimerkiksi. 381 00:22:54,050 --> 00:22:57,620 Mutta tiedät tarkalleen miten tiedot on menossa katsomaan kun saat sen takaisin 382 00:22:57,620 --> 00:23:00,610 joten voit odottaa tehdä tiettyjä asioita sen kanssa. 383 00:23:00,610 --> 00:23:07,240 Voimme vierittää alaspäin ja katso, jos esimerkiksi haluamme kysyä API 384 00:23:07,240 --> 00:23:11,500 saada kalenterin, voimme käyttää tätä erityistä URL 385 00:23:11,500 --> 00:23:16,480 ja antaa sille tiettyjä parametreja, jotka aiotaan tietoja, että haluamme juuri. 386 00:23:16,480 --> 00:23:19,540 Ja samoin, jos haluamme tiedot takaisin tietyssä muodossa, 387 00:23:19,540 --> 00:23:23,790 Sitten voimme kysyä sitä ulos tietoja CSV, 388 00:23:23,790 --> 00:23:27,700 ja se on vain yksi parametri, että olemme ohimennen API. 389 00:23:27,700 --> 00:23:29,210 Paljon hienoja asioita siellä. 390 00:23:29,210 --> 00:23:32,550 Haluan ehdottomasti suositella tsekata CS50 API. 391 00:23:32,550 --> 00:23:36,000 >> Aion tarkastella tätä Harvardin Food API erityisesti vähän. 392 00:23:36,000 --> 00:23:39,870 Yksi asia, jonka olen itse suunnitellut tämä Harvardin noms sivustolla, 393 00:23:39,870 --> 00:23:44,930 joka käyttää CS50 Food API noutaa Huds valikko päivä. 394 00:23:44,930 --> 00:23:50,400 Ja laajentamista koulu ihmisille, Huds on ruokailutila palvelu Harvardin. 395 00:23:50,400 --> 00:23:55,130 Mitä saat on tämä sivu, joka sisältää kaikki ateriat päivän, joten näemme lounaan. 396 00:23:55,130 --> 00:23:58,130 Meillä on muutama eri. Meillä on papu ja täysjyväviljaa asemalle. 397 00:23:58,130 --> 00:24:00,340 Meillä on ruskea riisi asemalle. 398 00:24:00,340 --> 00:24:03,360 Voimme nähdä brunssi meillä on näitä muutamia elintarvikkeita. 399 00:24:03,360 --> 00:24:07,030 Jos me sitten niitä, niin saamme ravitsemus tietoa. 400 00:24:07,030 --> 00:24:12,240 Näet tämän on ravitsemus tietoa greippi, jos mietit. 401 00:24:12,240 --> 00:24:14,870 Ja niin taas aiomme kurkistaa loppupäätä tässä hieman 402 00:24:14,870 --> 00:24:18,530 ja katso, mitä tämä tekee saada näitä tietoja. 403 00:24:18,530 --> 00:24:21,710 Ja se osoittautuu ei oikeastaan ​​olla kovin monimutkaista lainkaan. 404 00:24:21,710 --> 00:24:28,720 Tämä tiedosto näyttää hieman sotkuinen, mutta pitää muistaa, että tämä käsittelee koko sivuston, 405 00:24:28,720 --> 00:24:34,130 ja jos minä selaa näemme tämän muutoksen tiedot toiminto. 406 00:24:34,130 --> 00:24:36,630 >> Nyt, vain olla selkeä, tämä on kirjoitettu CoffeeScript, 407 00:24:36,630 --> 00:24:39,570 mikä on kieli, joka luultavasti ole ennen nähty. 408 00:24:39,570 --> 00:24:44,810 Mutta ihan luettavia, joten Kävelen läpi ikään kuin se olisi pseudokoodilla. 409 00:24:44,810 --> 00:24:49,080 Muuta päivämäärä on toiminto, joka tulee viemään tämän päivämäärän arvo, 410 00:24:49,080 --> 00:24:51,740 ja se myös aikoo ryhtyä ensimmäinen, josta meillä ei välitä niin paljon. 411 00:24:51,740 --> 00:24:54,110 Mutta tärkeintä on, että se on tähän päivämäärään mennessä, 412 00:24:54,110 --> 00:25:00,080 ja tämä päivä on päivä, että haluamme pyytää kaikkia elintarvikkeita varten. 413 00:25:00,080 --> 00:25:04,030 Ja sitten näet meillä hieman syntaksin täällä, 414 00:25:04,030 --> 00:25:09,000 joka on pohjimmiltaan jäsentämiseen kyseisestä päivämäärästä osaksi luettavaan muotoon. 415 00:25:09,000 --> 00:25:11,920 Toisin sanoen, API vaatii päivämäärä tietyssä muodossa. 416 00:25:11,920 --> 00:25:17,390 Et voi vain sanoa 16 marraskuu 2012 jKr. 417 00:25:17,390 --> 00:25:20,320 Se ei tiedä mitä tehdä sen kanssa. Se haluaa päivämäärä tietyssä muodossa. 418 00:25:20,320 --> 00:25:23,230 Kaikki me teemme täällä antaa se juuri tätä muotoa, 419 00:25:23,230 --> 00:25:26,520 joka on vuosi arvo ja sitten väliviiva, kuukausi-arvo, 420 00:25:26,520 --> 00:25:29,420 toinen tavuviiva ja päivämäärän arvo. 421 00:25:29,420 --> 00:25:34,910 Ja sanomme haluamme tiedot ovat tuotoksen JSON. 422 00:25:34,910 --> 00:25:37,560 >> Nyt Teemme tätä AJAX pyynnön, ja kuten mainitsin aiemmin, 423 00:25:37,560 --> 00:25:41,680 jQuery on tämä erittäin hyödyllinen AJAX-toiminto, jossa kaikki sinun tarvitsee vain määrittää 424 00:25:41,680 --> 00:25:45,780 muutamia parametreja täällä, ja se antaa sinulle takaisin mitä haluat. 425 00:25:45,780 --> 00:25:50,490 Kerromme siitä, että URL haluamme mennä tämä CS50 Ruoka API, 426 00:25:50,490 --> 00:25:52,270 jotka saimme spec. 427 00:25:52,270 --> 00:25:56,730 Sanomme, että haluamme tiedot JSON ja että 428 00:25:56,730 --> 00:25:59,490 aiomme antaa sen tämän tietojen olemme määritelleet täällä. 429 00:25:59,490 --> 00:26:02,670 Tämä on päivä haluamme elintarvikkeita varten. 430 00:26:02,670 --> 00:26:07,790 Ja sitten meidän täytyy tehdä, on määritellä jonkinlainen menestys toiminto, 431 00:26:07,790 --> 00:26:11,980 joka on pohjimmiltaan mitä tapahtuu, kun API palauttaa tietoihin. 432 00:26:11,980 --> 00:26:15,490 Toisin sanoen, olemme pakattu ylös kaikki parametrit haluamme, 433 00:26:15,490 --> 00:26:20,530 joka tässä tapauksessa on päivä, että me haluamme sitä ja että haluamme sen JSON, 434 00:26:20,530 --> 00:26:23,840 ja lähetimme sen pois API joten nyt API sanoo, okei, 435 00:26:23,840 --> 00:26:26,350 täällä tietosi, sain sen takaisin sinulle. 436 00:26:26,350 --> 00:26:29,930 Meillä on menestystä toiminto, mikä tarkoittaa sitä, että koska API 437 00:26:29,930 --> 00:26:32,230 onnistuneesti palauttaa joitakin tietoja, mitä teemme sen? 438 00:26:32,230 --> 00:26:35,980 >> Ja näyttää siltä, ​​että kaikki mitä teemme on kutsua tämän päivityksen valikkotoiminnon 439 00:26:35,980 --> 00:26:42,680 kanssa mitä API on palannut, joten voimme etsiä että 440 00:26:42,680 --> 00:26:47,970 ja katso, että kaikki teemme käyttää joukko uusia syntaksin täällä 441 00:26:47,970 --> 00:26:52,220 päivittää HTML ja lisätä tämän uuden tiedon. 442 00:26:52,220 --> 00:26:56,580 Mitä tämä mahdollistaa on meillä nämä nuolet molemmin puolin, ja voimme sitten, 443 00:26:56,580 --> 00:27:01,060 ja nyt me tarkastelemme tiedot seuraavana päivänä ja jälleen seuraavana päivänä, 444 00:27:01,060 --> 00:27:04,820 ja joka kerta se päivittää tämän päivämäärän arvo ja hakujen API, 445 00:27:04,820 --> 00:27:07,510 saada takaisin joitakin tietoja ja laitat sen sivuston. 446 00:27:07,510 --> 00:27:10,590 Jälleen, voit nähdä, super, super hyödyllinen. 447 00:27:10,590 --> 00:27:14,410 Tämä sovellus vei minut muutaman tunnin hakata yhteen, 448 00:27:14,410 --> 00:27:20,140 ja minulla on hieman enemmän kokemusta, tietenkin, mutta CS50 opinnäytetyön 449 00:27:20,140 --> 00:27:22,870 voi etsiä jotain hyvin paljon tästä. 450 00:27:22,870 --> 00:27:29,540 >> API ovat super voimakas verran vaivaa, että he ottavat. 451 00:27:29,540 --> 00:27:32,800 Viimeinen asia aion mennä yli on muutamia API laajasti. 452 00:27:32,800 --> 00:27:35,480 En päästä niin pitkälle niitä niin paljon kuin mitä he tekevät erityisesti 453 00:27:35,480 --> 00:27:38,740 mutta minä annan sinulle käsityksen siitä, mitä siellä on. 454 00:27:38,740 --> 00:27:42,700 2 todella hyödyllinen ne, jos olet kiinnostunut tietojen analysoinnin tai visualisointi 455 00:27:42,700 --> 00:27:45,960 tai mitään sellaista, ovat Freebase ja Wikipedia. 456 00:27:45,960 --> 00:27:49,800 Wikipedia-oletettavasti te kaikki tiedätte, on ilmainen online-tietosanakirja, 457 00:27:49,800 --> 00:27:53,230 ja se todella on API, joten jos haluat esimerkiksi 458 00:27:53,230 --> 00:27:56,250 saada kaikki tekstit ja artikkelit mustekala 459 00:27:56,250 --> 00:27:58,030 Voit helposti tehdä. 460 00:27:58,030 --> 00:28:02,300 Vain sanoa hei, Wikipedia API, haluaisin tiedot palautetaan tämän 461 00:28:02,300 --> 00:28:07,010 ja haluaisin sen tässä muodossa, ja artikkelissa haluaisin on mustekala, 462 00:28:07,010 --> 00:28:09,820 ja hyvin nopeasti se antaa sinulle takaisin, että tiedot. 463 00:28:09,820 --> 00:28:12,230 Se voi olla todella hyödyllistä, jos haluat tehdä jonkinlaisen sivuston 464 00:28:12,230 --> 00:28:16,200 se parempi katselin Wikipediasta tai jotain. 465 00:28:16,200 --> 00:28:21,350 >> Freebase on tavallaan samanlainen, vaikka se on hieman vaikeampaa asti API. 466 00:28:21,350 --> 00:28:24,390 Freebase on kuin Wikipedia, että se on online-tietosanakirja 467 00:28:24,390 --> 00:28:29,050 joka sisältää paljon ja paljon erilaisia ​​tietoja kaikenlaisia ​​erilaisia ​​aiheita, 468 00:28:29,050 --> 00:28:33,150 mutta se on tallennettuna relaatiotietokantaan, joka on hieman erilainen kuin Wikipedia. 469 00:28:33,150 --> 00:28:36,410 Wikipedia on sen artikkeleissa liittyviä muita artikkeleita, 470 00:28:36,410 --> 00:28:38,860 mutta suurin osa, jos haluat tietoja mustekala, 471 00:28:38,860 --> 00:28:41,990 menet mustekala artikkelin, saada, että tiedot, ja sinulla on nippu tekstin 472 00:28:41,990 --> 00:28:43,830 noin mustekaloja, joten on hienoa. 473 00:28:43,830 --> 00:28:46,870 Freebaseen toimii hieman monimutkaisempi tavalla siten, että 474 00:28:46,870 --> 00:28:48,930 kaikki on sukua toisilleen. 475 00:28:48,930 --> 00:28:52,620 Toisin sanoen, jos etsit Meritursaan 476 00:28:52,620 --> 00:28:54,940 sitten se on joukko luokkiin liittyy siihen. 477 00:28:54,940 --> 00:28:57,920 >> Esimerkiksi, se on eläin, se elää vedenalainen, 478 00:28:57,920 --> 00:28:59,710 sillä on tietty kehon lämpötilaa. 479 00:28:59,710 --> 00:29:01,210 En tiedä. 480 00:29:01,210 --> 00:29:04,230 Ja kaikki nämä luokat ovat linkkejä muihin paikkoihin, joissa voit mennä 481 00:29:04,230 --> 00:29:06,640 näkemään asioita, jotka samaan luokkaan. 482 00:29:06,640 --> 00:29:13,450 Toisin sanoen, mustekala tietokokonaisuus sisältäisi linkin tietoihin asettaa kaikki eläimet, 483 00:29:13,450 --> 00:29:16,790 ja että antaisi minun liikkua tietokannassa todella nopeasti. 484 00:29:16,790 --> 00:29:21,740 Tämä voi olla erittäin hyödyllistä, jos teet jotain vertailuja. 485 00:29:21,740 --> 00:29:24,490 Toisin sanoen, koska tietty asia, jonka haluat nähdä 486 00:29:24,490 --> 00:29:27,890 mitä muuta se liittyy ja mitä muuta se ei liity. 487 00:29:27,890 --> 00:29:30,700 Että sellainen asia. Se voi olla hyödyllinen useissa eri tavoin. 488 00:29:30,700 --> 00:29:34,250 Jos etsit enemmän haastetta ja pystyä tekemään joitakin monimutkaisempia asioita 489 00:29:34,250 --> 00:29:38,740 Pitäisin vilkaisemalla Freebase API. 490 00:29:38,740 --> 00:29:44,670 Mutta enimmäkseen, Wikipedia on hyvin yksinkertainen paikka mennä niin pitkälle kuin saada tietoa. 491 00:29:44,670 --> 00:29:48,340 Toinen paikka, että minä katson on Last.fm, ja olen todella mennä sivuston 492 00:29:48,340 --> 00:29:53,800 jos jotkut ihmiset eivät ole tuttuja, mutta Last.fm on pohjimmiltaan musiikkia 493 00:29:53,800 --> 00:29:57,220 makuja ja suositukset verkkosivuilla. 494 00:29:57,220 --> 00:29:59,000 Voit tehdä tilin. 495 00:29:59,000 --> 00:30:04,250 Voit aloittaa lataamisen musiikkia musiikkisoitin 496 00:30:04,250 --> 00:30:08,020 verkkosivuilla, ja pohjimmiltaan se alkaa antaa sinulle musiikkia suosituksia 497 00:30:08,020 --> 00:30:10,030 perusteella, mitä kuuntelet. 498 00:30:10,030 --> 00:30:14,270 >> Esimerkiksi, jos menet profiiliisi sivulle-tämä on minun- 499 00:30:14,270 --> 00:30:18,180 näet sinulla luettelo viimeksi kuunnellut kappaleet. 500 00:30:18,180 --> 00:30:22,550 Näet yleinen suosikki taiteilijoita, kaikki että sellainen asia, 501 00:30:22,550 --> 00:30:25,280 ja taas, siellä on iso API takana Last.fm, 502 00:30:25,280 --> 00:30:29,360  ja voit käyttää sitä tehdä paljon ja paljon todella hienoja asioita. 503 00:30:29,360 --> 00:30:38,870 Esimerkiksi lähden kaverin sivu, joka on tämän Last.fm Tools verkkosivuilla. 504 00:30:38,870 --> 00:30:42,380 Tämä on itse asiassa toinen foorumi, joka on rakennettu Last.fm API, 505 00:30:42,380 --> 00:30:45,420 ja se määrää melko mielenkiintoisia asioita. 506 00:30:45,420 --> 00:30:50,260 Jos minä kirjaudu sisään minun käyttäjätunnus, esimerkiksi 507 00:30:50,260 --> 00:30:53,110 Voin pyytää sitä tuottaa tunnisteiden, esimerkiksi 508 00:30:53,110 --> 00:30:56,480 ja mitä se aikoo tehdä, on antaa minulle takaisin kuva 509 00:30:56,480 --> 00:30:59,850 kaikki eri genrejä ja että sellainen asia, että haluan kuunnella. 510 00:30:59,850 --> 00:31:01,410 Miten se tekee tämän? 511 00:31:01,410 --> 00:31:05,670 Erittäin pohjimmiltaan se sanoi Last.fm API tässä tämän käyttäjän. 512 00:31:05,670 --> 00:31:10,710 Haluaisin tietää lajityypin jokaisen kappaleen he ikinä kuunnellut, 513 00:31:10,710 --> 00:31:15,130 ja voit tehdä sen tekemällä melko yksinkertainen AJAX puhelu Last.fm API. 514 00:31:15,130 --> 00:31:18,990 Saat takaisin ison listan, ja sitten ilmeisesti joitakin muita juttuja tehdään 515 00:31:18,990 --> 00:31:22,280 tehdä siitä sana pilvi, mutta voit nähdä yleistä 516 00:31:22,280 --> 00:31:25,850 se on erittäin helppo käyttää ja erittäin helppokäyttöinen. 517 00:31:25,850 --> 00:31:30,750 Todella mukava joukko asioita. 518 00:31:30,750 --> 00:31:35,940 >> Luulen, että kaikki mitä sanon yleistä. 519 00:31:35,940 --> 00:31:39,040 Viimeinen asia minä mainitsen siitä API yleensä on, että 520 00:31:39,040 --> 00:31:41,840 voit joskus törmätä jotain kutsutaan nopeutta rajoittava, 521 00:31:41,840 --> 00:31:44,940 ja ajatus nopeutta rajoittava ei et halua väärin API. 522 00:31:44,940 --> 00:31:48,130 Toisin sanoen, se on todella mukavaa, että monet näistä sivustoista on API 523 00:31:48,130 --> 00:31:51,070 että voit mennä ja käyttää ilmaiseksi. 524 00:31:51,070 --> 00:31:54,460 Kuitenkin, jos teet miljoonia tai miljardeja lukupyyntöä, 525 00:31:54,460 --> 00:31:57,610 Esimerkiksi, jos olet jumissa loputon silmukka, joka on äärettömän kysely 526 00:31:57,610 --> 00:32:00,680 jonkinlainen API ja saada takaisin valtava määrä tietoa, 527 00:32:00,680 --> 00:32:04,570 ilmeisesti se ei ole hyvä, niin mitä monet API tehdä, on olla tämä nopeutta rajoittava ominaisuus 528 00:32:04,570 --> 00:32:09,970 joka sanoo voit vain tehdä 1000 vierailua päivässä per IP-osoite tai jotain. 529 00:32:09,970 --> 00:32:12,540 Ja jos teet paljon testausta ja että sellainen asia, 530 00:32:12,540 --> 00:32:14,890 voit joskus törmätä, että ja yhtäkkiä se sammuttaa sinut 531 00:32:14,890 --> 00:32:18,280 ja sanoa ei, En anna sinulle enempää tietoja. 532 00:32:18,280 --> 00:32:20,000 >> Mitä haluat tehdä, on pelata sääntöjä. 533 00:32:20,000 --> 00:32:22,950 Haluat varmistaa, että olet lukenut API spec huolellisesti. 534 00:32:22,950 --> 00:32:26,330 Jos se on tiettyjä sääntöjä kiinnitetty siihen, kuten voit vain tehdä X kyselyt päivässä 535 00:32:26,330 --> 00:32:30,000 tai voit käyttää vain osaa tietokannasta tietyn määrän kertoja 536 00:32:30,000 --> 00:32:32,900 tai jotain, että haluat varmasti kiinni. 537 00:32:32,900 --> 00:32:38,360 Niin kauan kuin pelaat kuluessa näiden sääntöjen luultavasti on todella hauskaa käyttämällä API. 538 00:32:38,360 --> 00:32:42,030 Yleistä takeaway on API on todella hyödyllinen. 539 00:32:42,030 --> 00:32:45,610 >> On API lähes mitään suuria verkkopalvelun siellä. 540 00:32:45,610 --> 00:32:50,700 Melkeinpä mikä osa Googlen Tools Suite, Google Maps, Google Earth, 541 00:32:50,700 --> 00:32:54,390 GMail, Google Calendar, kaikki nuo asiat ovat API. 542 00:32:54,390 --> 00:32:58,280 Voit käyttää niitä sekä saada tietoja palvelimelta ja lähettää tiedot palvelimelle. 543 00:32:58,280 --> 00:33:00,870 Toisin sanoen, jos halusi tehdä kalenterin sovellus, joka voi päivittää 544 00:33:00,870 --> 00:33:04,190 joku Google Calendar, siellä API siitä. 545 00:33:04,190 --> 00:33:07,810 Jos haluat tehdä jotain, joka tulee kertoa minne 546 00:33:07,810 --> 00:33:12,530 sijainnin tietty osoite on voit käyttää Google Maps API siitä. 547 00:33:12,530 --> 00:33:15,860 API ovat uskomattoman hyödyllisiä, ja ne ovat kaikkialla. 548 00:33:15,860 --> 00:33:18,700 Jos olet kiinnostunut jonkinlainen idea, 549 00:33:18,700 --> 00:33:22,170 on luultavasti liittyviä API, jonka avulla voit saada paljon tietoa 550 00:33:22,170 --> 00:33:25,060 hyvin nopeasti ja helposti. 551 00:33:25,060 --> 00:33:28,140 >> Jos olet vielä etsimässä hankkeen tai jos haluat vain leikkiä 552 00:33:28,140 --> 00:33:31,820 jotain yleisesti, API ovat ehdottomasti kannattaa tehdä. 553 00:33:31,820 --> 00:33:37,200 Kiitos, ja olen iloinen voidessani vastata kaikkiin kysymyksiin, joita teillä saattaa olla. 554 00:33:37,200 --> 00:33:44,900 Okei, kiitos paljon. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]