1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [Seminārs] [programmētāja Ievads API] 2 00:00:02,480 --> 00:00:04,059 [Billy Janitsch] [Hārvarda] [Tomijs MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [Tas ir CS50.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> Sveiki, visiem, es esmu Billy, un šodien es esmu gatavojas runāt par API, 5 00:00:12,100 --> 00:00:15,220 vai lietojumprogrammu saskarnes, 6 00:00:15,220 --> 00:00:20,040 īpaši uz CS50 gala projektu ietvaros un ka veida lieta. 7 00:00:20,040 --> 00:00:22,490 Vispār, kas ir API? 8 00:00:22,490 --> 00:00:25,530 Ļoti plašā formulējumā, tas ir sava veida vidū cilvēks, kas ļauj 2 gabali 9 00:00:25,530 --> 00:00:28,610 programmatūru, lai sazinātos ar otru. 10 00:00:28,610 --> 00:00:32,530 Tas ir sava veida ļoti plašā definīcija, un nav tik svarīgi, ko mēs meklējam, ir. 11 00:00:32,530 --> 00:00:35,450 Ko mēs patiešām vēlamies, ir sava veida noderīgu vidusceļu 12 00:00:35,450 --> 00:00:40,570 komunicēt ar sava veida datubāzes kaut kur. 13 00:00:40,570 --> 00:00:43,310 >> Lūk diagrammas, un būtībā ideja ir tāda, ka 14 00:00:43,310 --> 00:00:46,790 Mēs esam pieteikumu, un mēs vēlamies, lai iegūtu datus no datu bāzes, 15 00:00:46,790 --> 00:00:49,570 bet mēs negribam, lai vaicājumu datu bāzē tieši. 16 00:00:49,570 --> 00:00:52,710 Tā vietā mēs vēlamies iet caur šāda veida vidū cilvēks, API. 17 00:00:52,710 --> 00:00:55,440 Aiz šī ideja ir skaitļi 2 un 3 par topā 18 00:00:55,440 --> 00:00:57,750 ir gan būs ļoti sarežģīta un netīrs. 19 00:00:57,750 --> 00:00:59,960 Citiem vārdiem sakot, ja API vaicājumiem datu bāzi, 20 00:00:59,960 --> 00:01:03,300 tas ir iespējams, būs izmantojot SQL tabulas un visu, kas veida stuff, 21 00:01:03,300 --> 00:01:05,489 un mēs esam iemācījušies mazliet par to CS50, bet kopumā 22 00:01:05,489 --> 00:01:07,590 Jūs esat ievērojuši, ka tas ir mazliet sāpes. 23 00:01:07,590 --> 00:01:10,590 Tas kļūst ļoti, ļoti sarežģīta un netīrs, jo īpaši, ja jūs gūstat 24 00:01:10,590 --> 00:01:12,530 sarežģītu jautājumu un ka veida lieta. 25 00:01:12,530 --> 00:01:15,960 >> Ko mēs patiešām vēlamies, ir sava veida noderīgu un vienkārši 26 00:01:15,960 --> 00:01:19,780 lai iegūtu šos datus, un tas ir ideja numuriem 1 un 4 uz diagrammas. 27 00:01:19,780 --> 00:01:23,600 Citiem vārdiem sakot, mēs vēlamies patiešām vienkāršs veids, kā pateikt API to, lai saņemtu par mums 28 00:01:23,600 --> 00:01:27,760 un ļoti vienkāršs veids, kā iegūt šos datus atpakaļ. 29 00:01:27,760 --> 00:01:33,020 Ir viens galvenais ceļš, ka datus parasti nosūtīti un saņemti, 30 00:01:33,020 --> 00:01:36,490 kas ir JSON, vai JavaScript objekts notāciju. 31 00:01:36,490 --> 00:01:40,370 Tas var atšķirties mazliet cik to, kā jūs sūtīt pieprasījumu uz API. 32 00:01:40,370 --> 00:01:43,210 Citiem vārdiem sakot, ja jūs vēlaties kādu noteiktu datu apjomu, 33 00:01:43,210 --> 00:01:46,670 kā jūs pateikt API, lai iegūtu, ka datus var atšķirties mazliet. 34 00:01:46,670 --> 00:01:49,210 Parasti tas nozīmē veikt kaut kādu tīkla pieprasījumu. 35 00:01:49,210 --> 00:01:53,130 Citiem vārdiem sakot, piekļūstot sava veida URL, kas notiek, lai pastāstītu API 36 00:01:53,130 --> 00:01:56,190 tieši to, ko jūs vēlaties, bet dati tiek gandrīz vienmēr nosūta atpakaļ, 37 00:01:56,190 --> 00:01:59,530 citiem vārdiem sakot, JSON skaits 4. 38 00:01:59,530 --> 00:02:01,030 >> Kas ir JSON tieši? 39 00:02:01,030 --> 00:02:03,030 Kā es teicu, JavaScript objekts notāciju. 40 00:02:03,030 --> 00:02:07,090 Tā būtībā universāls standarts nosūta un saņem datus. 41 00:02:07,090 --> 00:02:11,410 Ideja ir tāda, ka Jums ir šie 3 kategoriju lietām. 42 00:02:11,410 --> 00:02:13,540 Jums ir bloki, hashmaps un primitīvi. 43 00:02:13,540 --> 00:02:16,580 Masīvi un hashmaps esat aplūkoja mazliet jo CS50, 44 00:02:16,580 --> 00:02:19,870 bet jūs esat veida gotten ļoti stingru sajūtu, ko viņi ir. 45 00:02:19,870 --> 00:02:22,780 Citiem vārdiem sakot, ar masīviem jūs zināt, ka viņi rakstīt saistoša, 46 00:02:22,780 --> 00:02:26,560 tāpēc jums ir tikai viena veida tipa kas iet visā masīvs. 47 00:02:26,560 --> 00:02:29,310 JSON ir daudz saudzējošāks ar šo veida lieta. 48 00:02:29,310 --> 00:02:33,590 Būtībā ideja ir jums būvēt šo objektu, 49 00:02:33,590 --> 00:02:36,270 ko var veidot kādu no šīm 3 lietām 50 00:02:36,270 --> 00:02:39,470 un var sastāvēt no vairākām tiem no viņiem, un viņi var ligzdot. 51 00:02:39,470 --> 00:02:42,110 >> Lūk veida piemērs JSON, 52 00:02:42,110 --> 00:02:47,910 kas ir šie figūriekavās šeit pārstāvēt savu HashMap, 53 00:02:47,910 --> 00:02:51,400 un HashMap pamatā kartēšanas no kaut kādas atslēgas 54 00:02:51,400 --> 00:02:53,340 uz kādām vērtības. 55 00:02:53,340 --> 00:02:56,440 Jūs redzēsiet, ka mēs ir īpašības atslēgu, 56 00:02:56,440 --> 00:02:59,600 un kas ir kartēšanas uz masīvā, kas ir šī visa lieta. 57 00:02:59,600 --> 00:03:04,120 Mēs redzēt citu elementu HashMap, kas ir šī atslēga isAwesome, 58 00:03:04,120 --> 00:03:07,370 kas kartes uz primitīvu vērtību taisnība, citiem vārdiem sakot, Būla. 59 00:03:07,370 --> 00:03:09,420 Primitīvi var būt stīgas. Tie var būt veseli skaitļi. 60 00:03:09,420 --> 00:03:11,960 Tie var būt bools, kaut kā tā. 61 00:03:11,960 --> 00:03:18,410 Un jūs redzēsiet saturu šo masīvu, kas īpašības norāda uz ir 2 stīgas tajā, 62 00:03:18,410 --> 00:03:20,050 self-līdzīgi un brīnišķīgi. 63 00:03:20,050 --> 00:03:27,410 Tiem ir 2 īpašības JSON, un mēs redzam, ka JSON ir laba. 64 00:03:27,410 --> 00:03:30,060 Apskatīt to nedaudz vairāk es esmu gatavojas būvēt 65 00:03:30,060 --> 00:03:32,870 sarežģītāka piemērs JSON šeit. 66 00:03:32,870 --> 00:03:37,000 >> Sāksim ar masīvu, piemēram, tikai tukšu masīvu. 67 00:03:37,000 --> 00:03:39,180 Bet tas ir sava veida garlaicīgi, tāpēc mēs ejam, lai novērstu to mazliet, 68 00:03:39,180 --> 00:03:43,420 un kā es teicu, matricas JSON ir rakstīt saistoša, 69 00:03:43,420 --> 00:03:46,400 lai mēs varētu arī būt virkne šeit, kas ir hi, 70 00:03:46,400 --> 00:03:49,330 un tas ir vēl viens elements, ka masīvu. 71 00:03:49,330 --> 00:03:53,450 Un tāpat, mēs varētu pievienot hashmapping šeit, kas gatavojas ir dažas samērošanai. 72 00:03:53,450 --> 00:04:00,470 Tas notiek, lai būtu kartēšanu no vārda uz stīgu Billy. 73 00:04:00,470 --> 00:04:04,590 Mums ir kartēšanu no vārda līdz Billy, un mums ir jāapzina 74 00:04:04,590 --> 00:04:10,860 mīļākā krāsa ir zilā krāsā. 75 00:04:10,860 --> 00:04:12,700 Tas ir būtībā labs piemērs JSON. 76 00:04:12,700 --> 00:04:18,160 Tā veida nonāk-Whoops, nepieciešams komats tur-visu par dažādām tā. 77 00:04:18,160 --> 00:04:21,140 Atkal, tas nav ierakstīt saistoša vispār, lai jūs varētu būt jebkāda veida veidi 78 00:04:21,140 --> 00:04:24,710 iekšā kaut ko vēlaties, un ideja ir tas self-līdzīgi. 79 00:04:24,710 --> 00:04:28,830 Citiem vārdiem sakot, šīs tiesības šeit ir JSON objekts, jo tas ir viss, 80 00:04:28,830 --> 00:04:33,200 jo ir tikai tas, lai jūs varētu būt primitīva jābūt objekts, 81 00:04:33,200 --> 00:04:35,680 masīvs būt objekts vai HashMap būt objekts. 82 00:04:35,680 --> 00:04:40,270 >> Kā jūs varat veida redzēt, JSON ir patiesi, patiesi noderīga, jo tā ir tik dažāda. 83 00:04:40,270 --> 00:04:45,860 Jūs varat būt kāda dati, jūs varat iedomāties, kas glabājas JSON. 84 00:04:45,860 --> 00:04:47,900 Kas padara to patiešām jauku valodu lietot ar API 85 00:04:47,900 --> 00:04:50,770 jo tas diezgan daudz nozīmē, ka nav svarīgi, kādi dati, ko vēlaties 86 00:04:50,770 --> 00:04:54,270 tur būs kāds veids kā dabūt to atpakaļ JSON. 87 00:04:54,270 --> 00:04:58,600 Dažas īpašības, kas padara JSON īpaši laba šāda veida lieta. 88 00:04:58,600 --> 00:05:02,270 Kā jūs varat redzēt, salīdzinot ar daudz lietas, kas jums ir strādāt ar in CS50 89 00:05:02,270 --> 00:05:06,040 tas ir salīdzinoši ļoti viegli lasīt un arī ļoti viegli rakstīt. 90 00:05:06,040 --> 00:05:09,700 Jūs varat ievilkumu to, ja jūs vēlaties, piemēram, man bija darīt, ka piemērs, 91 00:05:09,700 --> 00:05:12,990 kas dod jums jauka, skaista versija, ka jūs varat redzēt patiešām labi. 92 00:05:12,990 --> 00:05:17,150 Bet turklāt tā ir arī viegli lasīt un rakstīt uz datora. 93 00:05:17,150 --> 00:05:19,870 Citiem vārdiem sakot, tas ir viegli apstrādāt un viegli kodēt, 94 00:05:19,870 --> 00:05:23,820 kas nozīmē, ka tas ir diezgan ātri, cik vien lasot datus ir bažas, 95 00:05:23,820 --> 00:05:26,460 un JSON var radīt tiešām ātri. 96 00:05:26,460 --> 00:05:30,300 >> Tas ir arī ļoti viegli piekļūt dažādām daļām JSON un ka veida lieta. 97 00:05:30,300 --> 00:05:33,320 Tas ir jauki, turklāt fakts, ka tas ir self-līdzīgi, 98 00:05:33,320 --> 00:05:36,090 citiem vārdiem sakot, tas, ka jūs varat būt JSON laikā JSON laikā JSON 99 00:05:36,090 --> 00:05:40,040 ir tiešām jauks datu glabāšanai. 100 00:05:40,040 --> 00:05:45,490 Vēl daļa, kas parasti ir ļoti noderīga, strādājot ar API ir jQuery. 101 00:05:45,490 --> 00:05:49,290 Jūs esat iemācījušies mazliet JavaScript, kas ir jauks veids 102 00:05:49,290 --> 00:05:53,710 manipulēt HTML un CSS ietvaros mājas lapā. 103 00:05:53,710 --> 00:05:57,190 Bet tas var veida būt sāpes, lai kodu vienkāršā JavaScript, 104 00:05:57,190 --> 00:05:59,810 lielākoties tāpēc JavaScript ir patiešām runīgs valodu. 105 00:05:59,810 --> 00:06:03,020 Jums ir, lai uzzinātu daudz sintakses, un tikai darīt ļoti vienkāršas lietas 106 00:06:03,020 --> 00:06:07,590 tas aizņem daudz kodu, tāpēc jQuery ir bibliotēka JavaScript. 107 00:06:07,590 --> 00:06:09,800 Citiem vārdiem sakot, tas ir JavaScript failu, kuru var ielādēt 108 00:06:09,800 --> 00:06:12,730 un pēc tam izmantot jQuery funkcijas izdarīt dažas lietas. 109 00:06:12,730 --> 00:06:15,670 Un jQuery būtībā padara jūsu dzīvi kopumā daudz vieglāk. 110 00:06:15,670 --> 00:06:20,390 Tas vienkāršo kādi būtu vajadzīgi simtiem līniju JavaScript leju, lai dažus līniju jQuery. 111 00:06:20,390 --> 00:06:24,430 >> Tas ir īpaši noderīgi, ja jūs izmantojat API jo parasti 112 00:06:24,430 --> 00:06:27,600 Kā jūs piekļūt API ir, padarot AJAX pieprasījumus, 113 00:06:27,600 --> 00:06:30,130 un es uzskatu, ka Deivids ir minēts lekciju, ka AJAX pieprasījumi 114 00:06:30,130 --> 00:06:33,120 parasti, kad jūs gūstat tīkla pieprasījumu uz kādām servera 115 00:06:33,120 --> 00:06:37,760 un saņemt atpakaļ kaut kādus datus un atjaunināt lapu uzreiz. 116 00:06:37,760 --> 00:06:41,840 Tā vienkāršā JavaScript, kas varētu veikt traks skaits līniju 117 00:06:41,840 --> 00:06:44,620 lai apstiprinātu visus no sadalītājiem un darīt visu, kas veida stuff, 118 00:06:44,620 --> 00:06:46,810 jQuery ir patiešām vienkāršu funkciju sauc AJAX 119 00:06:46,810 --> 00:06:51,760 un viss, kas jums ir jādara, AJAX ir sniegt parametrus, kas jūs vēlaties, lai dotu API, 120 00:06:51,760 --> 00:06:56,830 par API vietu un papildu veida iespējas, ka jūs vēlaties konfigurēt. 121 00:06:56,830 --> 00:07:02,480 Tas ir ļoti, ļoti jauks un ļoti noderīgi šāda veida lieta. 122 00:07:02,480 --> 00:07:06,970 Tas ir viss, kas mums ir nepieciešams, lai sāktu saņemt mūsu rokas netīras ar API. 123 00:07:06,970 --> 00:07:10,220 >> Es esmu gatavojas audzināt dažus piemērus un izpētīt savu atšķirīgas īpašības 124 00:07:10,220 --> 00:07:13,150 un kāpēc viņi noderīgi dažādas lietas. 125 00:07:13,150 --> 00:07:15,570 Pirmā lieta es tiešām parādīs, ir kaut kas, es esmu strādā 126 00:07:15,570 --> 00:07:18,310 pie mana pētniecības lab, kas ir Ngram skatītājs, 127 00:07:18,310 --> 00:07:23,270 un būtībā no Ngram Viewer ideja ir jūs varat meklēt kādu vārdu 128 00:07:23,270 --> 00:07:28,840 vai frāze un redzēt, cik bieži tas parādījās noteiktā kopumu teksta laika gaitā. 129 00:07:28,840 --> 00:07:33,160 Šis piemērs ir šis datu kopums zīdaiņiem 130 00:07:33,160 --> 00:07:36,480 kas dzimuši New York no 1920 līdz 2000. 131 00:07:36,480 --> 00:07:40,090 Mēs varam meklēt, piemēram, attiecībā uz nosaukumu Jennifer, 132 00:07:40,090 --> 00:07:44,400 un mēs redzam, ka pre-1960 tas tiešām nav tikusi izmantota, ka daudz, 133 00:07:44,400 --> 00:07:48,900 un tad kā mēs nokļūt vēlākos gados tas kļūst izmanto arvien vairāk. 134 00:07:48,900 --> 00:07:53,680 Mēs varam arī to salīdzināšanu, tāpēc, ja mēs salīdzinām Jennifer lai, piemēram, Thomas, 135 00:07:53,680 --> 00:07:56,520 mēs varam redzēt Tomass ir diezgan izplatīta visā vēsturē, 136 00:07:56,520 --> 00:07:58,780 tā Jennifer ir jaunāks nosaukums. 137 00:07:58,780 --> 00:08:00,590 Mēs varam darīt, ka veida lieta. 138 00:08:00,590 --> 00:08:02,460 >> Kā tas pieteikums darbojas? 139 00:08:02,460 --> 00:08:06,030 Būtībā, tas darbojas, izmantojot API. 140 00:08:06,030 --> 00:08:08,660 Citiem vārdiem sakot, mums ir daži parametri šeit. 141 00:08:08,660 --> 00:08:11,360 Mums ir parametrus, ko mēs patiesībā meklējam, 142 00:08:11,360 --> 00:08:13,720 kas ir šie vārdi, un tad mums ir dažas citas īpašības, 143 00:08:13,720 --> 00:08:16,570 tāpat Y asi un X asi. 144 00:08:16,570 --> 00:08:18,440 Jūs varat redzēt mums ir dažas dažādas iespējas, ciktāl 145 00:08:18,440 --> 00:08:20,860 izšķiršanas laiku izmantot, un ka veida lieta. 146 00:08:20,860 --> 00:08:26,700 Mums ir šīs iespējas, cik vien kādi dati mēs patiesībā gribam no datubāzes, 147 00:08:26,700 --> 00:08:29,400 un mēs vēlamies, lai iegūtu šos datus atpakaļ noderīgu veidā. 148 00:08:29,400 --> 00:08:34,020 Parasti, ja mēs vaicājumiem datubāzes tieši tas būtu sava veida būt sāpes darīt 149 00:08:34,020 --> 00:08:38,970 jo domājams Tas par bērnu vārdi dati dzīvo kādā datu bāzē kaut kur, 150 00:08:38,970 --> 00:08:42,789 un tas būtu patiešām sarežģīti ir vaicājumu to manuāli 151 00:08:42,789 --> 00:08:45,830 un izlemt, tieši kādus datus, lai atgrieztos. 152 00:08:45,830 --> 00:08:49,300 Citiem vārdiem sakot, mēs tikai rūp Jennifer un Thomas šajā gadījumā, 153 00:08:49,300 --> 00:08:53,410 un mēs tikai rūpējamies arī par noteiktu asi un visa šā veida stuff. 154 00:08:53,410 --> 00:08:55,720 >> Kā mēs varam iegūt ap šo? 155 00:08:55,720 --> 00:09:01,200 Bakstīt šo API nedaudz vairāk es jums parādīs jums citu piemēru šo platformu 156 00:09:01,200 --> 00:09:04,490 kas izmanto nedaudz atšķirīgu datu kopu. 157 00:09:04,490 --> 00:09:09,950 Šī datu kopums, nevis to bērnu vārdi, ir faktiski tikai visa 158 00:09:09,950 --> 00:09:12,460 drukāt publikāciju datu bāze Open bibliotēkas, 159 00:09:12,460 --> 00:09:18,410 kas ir milzu avots publicēto tekstu visā pēdējo 100 vai tik gadu. 160 00:09:18,410 --> 00:09:23,540 Ideja ir mums šī compository miljoniem un miljoniem teksta, 161 00:09:23,540 --> 00:09:27,420 ko mēs tagad varam meklēt dažādus vārdus un frāzes iekšā 162 00:09:27,420 --> 00:09:30,840 Lūk piemērs, kas atšķiras nedaudz atšķirīgi no iepriekšējā piemēra 163 00:09:30,840 --> 00:09:33,350 Man parādīja jums, kas ir mums šos 3 meklēšanas vaicājumus, 164 00:09:33,350 --> 00:09:36,290 karš, karš, un ar franču vārdu karā, kas ir Guerre. 165 00:09:36,290 --> 00:09:40,380 Un mēs meklējam 3 dažādās sadaļās kopējā datu bāzē. 166 00:09:40,380 --> 00:09:45,080 Citiem vārdiem sakot, šajā pirmajā vaicājumā mēs esam tikai meklē ASV, 167 00:09:45,080 --> 00:09:51,150 Otrajā tikai vienu Apvienotajā Karalistē, un tikai no darbiem, kas publicēti Francijā trešdaļa. 168 00:09:51,150 --> 00:09:53,120 Mēs redzam dažas interesantas modeļus parādīties. 169 00:09:53,120 --> 00:09:58,180 Piemēram, mēs redzam labi ap šeit, kas, 170 00:09:58,180 --> 00:10:02,410 Hmm, es messed asij mazliet, bet jūs varat redzēt tieši šajā diapazonā šeit 171 00:10:02,410 --> 00:10:05,730 ap Pilsoņu kara tur liels smaile amerikāņu izdevumā 172 00:10:05,730 --> 00:10:08,340 bet nav tik liels smaile diviem citiem, un tas ir acīmredzami, jo 173 00:10:08,340 --> 00:10:10,880 Amerikas pilsoņu karš notika tajā brīdī. 174 00:10:10,880 --> 00:10:13,890 >> Mēs varam redzēt dažus cool stuff tur, 175 00:10:13,890 --> 00:10:17,070 bet tas, ko mēs tiešām rūp tas, kā mēs saņēmām šo informāciju. 176 00:10:17,070 --> 00:10:21,320 Es tevi aiz šīs app mazliet ainas. 177 00:10:21,320 --> 00:10:24,540 Veikls triks ir, ja jūs strādājat ar vietu un veidu gribu zināt 178 00:10:24,540 --> 00:10:27,430 kas notiek aiz ainas, jūs varat atvērt attīstītājs instrumenti. 179 00:10:27,430 --> 00:10:30,200 Es esmu būs izmantojot Chrome izstrādātāju rīkus, un, lai saņemtu tiem 180 00:10:30,200 --> 00:10:35,160 jūs varat darīt Control, Shift, J un kas ņem jūs uz JavaScript konsole. 181 00:10:35,160 --> 00:10:37,420 Ir daži cilnes. 182 00:10:37,420 --> 00:10:39,680 Viņi visi var būt diezgan noderīga dažādos apstākļos, bet es vienalga par tīklu 183 00:10:39,680 --> 00:10:44,150 tab tieši tagad, un man tiešām ir atsvaidzināt, lai saņemtu šo darbu. 184 00:10:44,150 --> 00:10:50,180 Ak, piedodiet. 185 00:10:50,180 --> 00:10:52,320 Tas patīk, lai dotu izlases piemērs. 186 00:10:52,320 --> 00:10:54,700 Labi, mēs izmantot šo piemēru vietā tad. 187 00:10:54,700 --> 00:11:01,330 >> Ideja ir tur tas API šeit, 188 00:11:01,330 --> 00:11:05,330 un jūs varat redzēt, tieši to, ko API atgriežas. 189 00:11:05,330 --> 00:11:10,220 Tas ir tas, ko pieteikumu saņemt atpakaļ no API, kas nosūtījusi šo lūgumu. 190 00:11:10,220 --> 00:11:13,680 Ļaujiet man tuvinātu mazliet, 191 00:11:13,680 --> 00:11:18,340 un mēs varam būtībā redzēt tas ir tikai virkne galveno vērtību pāru JSON. 192 00:11:18,340 --> 00:11:23,220 Citiem vārdiem sakot, mums ir šī HashMap šeit, kas ir kartēšanas vērtības. 193 00:11:23,220 --> 00:11:26,440 Citiem vārdiem sakot, tas ir kartēšanas gadus vērtībām. 194 00:11:26,440 --> 00:11:32,600 1765 neatkarīgi vārdu mēs sākotnēji meklēti tiek izmantota 90 reizes 195 00:11:32,600 --> 00:11:35,810 no 1 miljonu, tāpēc mēs esam iegūt atpakaļ šo rezultātu. 196 00:11:35,810 --> 00:11:40,280 Tas nav tieši JSON jo mums ir šis maz rezultātu header šeit, 197 00:11:40,280 --> 00:11:45,630 bet paziņo, ka tas viss objekts šeit ir tikai liels liels JSON lāse. 198 00:11:45,630 --> 00:11:51,070 Mums ir masīva šeit kurā visu šo elementu, 199 00:11:51,070 --> 00:11:55,590 un jūs varat redzēt, ka viss elements beidzas tur, un tad mums ir vēl viens liels elements 200 00:11:55,590 --> 00:11:59,430 kas iet visu ceļu uz leju līdz beigām, un tas beidzas šeit. 201 00:11:59,430 --> 00:12:02,200 Mums ir tiešām liels masīvs ar 2 objektiem tajā, 202 00:12:02,200 --> 00:12:04,630 un katram no šiem objektiem ir HashMap. 203 00:12:04,630 --> 00:12:07,340 Jūs varat redzēt katrā no šiem hashmaps mums ir kartēšanu 204 00:12:07,340 --> 00:12:12,700 Šīs indeksa vērtības 0 un šo vērtību vērtība uz citu HashMap, 205 00:12:12,700 --> 00:12:18,360 kas atkal ir kartēšanas X ass vērtības Y ass vērtībām. 206 00:12:18,360 --> 00:12:20,970 >> Jūs varat redzēt JSON kļūst mazliet sarežģīti mazliet, bet kopumā 207 00:12:20,970 --> 00:12:24,190 tas tiešām ir ļoti noderīgi, un tas ir ļoti viegli piekļūt, salīdzinot ar 208 00:12:24,190 --> 00:12:27,390 citi dažāda veida apzīmējumu. 209 00:12:27,390 --> 00:12:30,550 Runājot par to, ko mēs patiesībā nosūtot datus uz API, lai iegūtu, 210 00:12:30,550 --> 00:12:34,690 Es iešu uz muguras beigās mazliet šeit. 211 00:12:34,690 --> 00:12:39,850 Tas ir liels JavaScript failu, kas apstrādā visu par web app mijiedarbību, 212 00:12:39,850 --> 00:12:44,810 un tāpēc mums nav jārūpējas par lielāko, bet mēs rūpējamies par kādu no tā. 213 00:12:44,810 --> 00:12:47,410 Piemēram, mēs rūpējamies par šo buildQuery funkciju, 214 00:12:47,410 --> 00:12:50,670 un šīs funkcijas ideja būtībā tas skatos lapā, 215 00:12:50,670 --> 00:12:53,750 norādītas, ko lietotājs vēlas vaicājumu, citiem vārdiem sakot, 216 00:12:53,750 --> 00:12:57,090 pārbaudot tās kastes, kur viņi ievadi savu meklēšanas terminus, 217 00:12:57,090 --> 00:13:01,380 pārbaudot dažādas Y un X ass vērtības, ka viņi izvēlas un visu, kas veida lieta, 218 00:13:01,380 --> 00:13:06,650 un tas notiek, lai izspļaut šo vaicājumu vērtība, ko es pēc tam var nosūtīt off ar API. 219 00:13:06,650 --> 00:13:09,180 >> Tas izskatās sarežģīta, un tas ir diezgan sarežģīti 220 00:13:09,180 --> 00:13:18,090 bet ko es esmu gatavojas darīt, patiesībā, es esmu jau to izdarīt, kas ir liels- 221 00:13:18,090 --> 00:13:21,640 ir tas, ka es esmu gatavojas saņemt konsole izdrukāt tieši to vaicājumu vērtība 222 00:13:21,640 --> 00:13:28,110 ka tas ir nosūtījis off uz API. 223 00:13:28,110 --> 00:13:30,870 Tas ir tiešām labi šeit. Atvainojiet, tas izejas daudz lietas. 224 00:13:30,870 --> 00:13:33,690 Bet tas ir tas, ko mēs rūp, šis objekts šeit. 225 00:13:33,690 --> 00:13:35,300 Tas ir vaicājums objekts. 226 00:13:35,300 --> 00:13:40,670 Citiem vārdiem sakot, tas ir tieši tas, ko interneta pieteikumu sūta uz API, 227 00:13:40,670 --> 00:13:45,730 un tāpēc aplūkosim iekšpusē mazliet, un mēs redzam mums ir maz vērtības šeit. 228 00:13:45,730 --> 00:13:48,710 Mēs redzam mums ir šī skaita tipa, kas ir gadījumi uz vienu miljonu vārdiem, 229 00:13:48,710 --> 00:13:51,460 kas ir tieši tas, ko mēs esam izvēlējušies ar Y ass vairāk nekā šeit. 230 00:13:51,460 --> 00:13:53,740 Tas ir, ja tas nāk no. 231 00:13:53,740 --> 00:13:58,010 Mums ir datu bāze vērtība, kas nozīmē, ka tur ir dažas dažas datubāze 232 00:13:58,010 --> 00:14:01,610 ka šie dati ir dzīvo, un mēs vēlamies, lai piekļūt šiem datiem konkrēti 233 00:14:01,610 --> 00:14:04,950 atšķirībā no bērnu vārdi datiem, piemēram. 234 00:14:04,950 --> 00:14:08,320 Tad mums ir šis grupas vērtība, 235 00:14:08,320 --> 00:14:12,090 kas saka, ka mēs vēlamies, lai meklētu pēc gada, salīdzinot ar 236 00:14:12,090 --> 00:14:16,030 jebkurš cits X ass vērtību. 237 00:14:16,030 --> 00:14:19,040 Tad mums ir metode, ko daži API būs darīt vairākas lietas. 238 00:14:19,040 --> 00:14:22,360 Citiem vārdiem sakot, tas API var arī atgriezties cita veida dati, 239 00:14:22,360 --> 00:14:27,740 bet šajā gadījumā, mēs vēlamies, lai šī kartēšanu X ass vērtību līdz y asu vērtībām. 240 00:14:27,740 --> 00:14:30,730 Tas ko, kas stāsta to darīt tur, 241 00:14:30,730 --> 00:14:35,020 un mums ir šo meklēšanu robežas masīvs, kas satur 2 vērtības. 242 00:14:35,020 --> 00:14:40,720 Pirmais ir tas, ko mēs redzam šeit, kas ir visas vērtības 243 00:14:40,720 --> 00:14:43,020 ietvertas šī pirmā mazā lodziņā augšpusē. 244 00:14:43,020 --> 00:14:47,570 >> Citiem vārdiem sakot, mēs vēlamies meklēt vārdu kaujas, un mēs vēlamies, lai filtrētu 245 00:14:47,570 --> 00:14:51,920 Anglijas tekstiem ietvaros amerikāņu literatūrā. 246 00:14:51,920 --> 00:14:54,590 Mums ir šī valsts, kas ir ASV. 247 00:14:54,590 --> 00:14:59,130 Mums ir valoda, kas ir angļu valodā, tāpēc mums ir visas šīs dažādās daļās 248 00:14:59,130 --> 00:15:02,690 ka visi stāsta API tieši to, ko mēs gribam. 249 00:15:02,690 --> 00:15:04,940 Mēs nezinām, kādi dati, ka mēs atgriezīsimies vēl, 250 00:15:04,940 --> 00:15:10,970 bet mēs zinām, ka dati ir gatavojas veikt noteiktu formu. 251 00:15:10,970 --> 00:15:13,650 Šis piemērs ir sava veida uz sarežģītu pusē, 252 00:15:13,650 --> 00:15:16,180 un jums nebūtu obligāti izmantojot API šo kompleksu, 253 00:15:16,180 --> 00:15:20,600 bet tas ir parādīt jums klāstu un spēku, ko API var darīt. 254 00:15:20,600 --> 00:15:24,980 Citiem vārdiem sakot, izmantojot salīdzinoši vienkāršu vaicājumu sistēmu mēs būtībā ir ievades lodziņš 255 00:15:24,980 --> 00:15:29,490 ar dažiem citiem šķirotāja dažādās vietās. 256 00:15:29,490 --> 00:15:32,010 >> Ļaujiet man atkal tālināt šeit. 257 00:15:32,010 --> 00:15:37,720 Mums ir ieejas kaste ar dažiem dažādiem metadatu izlasēs, 258 00:15:37,720 --> 00:15:40,610 un mums ir Y asi un x ass izlasēs. 259 00:15:40,610 --> 00:15:42,830 Mums nav reāli ir, ka daudzas jomas, 260 00:15:42,830 --> 00:15:46,210 un mēs varam redzēt ļoti viegli mēs varam apšaubīt kaut kādu API 261 00:15:46,210 --> 00:15:48,510 un iegūt datus atpakaļ un tad nodot to šajā diagrammā, 262 00:15:48,510 --> 00:15:52,080 kas tad notiek, lai parādītu to lietderīgā veidā. 263 00:15:52,080 --> 00:15:54,970 Lai apskatīt vēl viens piemērs, kas varētu būt mazliet vairāk pazīstams ar jums, puiši 264 00:15:54,970 --> 00:15:56,510 mēs spēsim pārvērst uz Facebook. 265 00:15:56,510 --> 00:15:59,440 Facebook API sauc Facebook grafiks, 266 00:15:59,440 --> 00:16:04,390 un būtībā, ko tas nozīmē ir Facebook sevi redz kā šajā masveida datu bāzē 267 00:16:04,390 --> 00:16:08,000 no daudz dažādām daļām, kas visi ir noteiktas attiecības uz otru. 268 00:16:08,000 --> 00:16:11,070 Citiem vārdiem sakot, es esmu lietotājs Facebook, tāpēc man ir profils, 269 00:16:11,070 --> 00:16:14,310 un man arī ir dažas draugi, un katrs no tiem ir profils, 270 00:16:14,310 --> 00:16:17,580 un katrs no maniem draugiem ir siena, kas ir dažādas piezīmes par to, 271 00:16:17,580 --> 00:16:20,800 un katrs no šiem komentāriem ir patīk un visu šo veida lieta. 272 00:16:20,800 --> 00:16:23,100 >> Ir daudz dažādas daļas uz Facebook. 273 00:16:23,100 --> 00:16:26,670 Tas ir ļoti sarežģīts API, un tur ir t jūs varat darīt ar to, 274 00:16:26,670 --> 00:16:28,450 bet patiesībā tas ir diezgan vienkārši izmantot. 275 00:16:28,450 --> 00:16:33,680 Es esmu gatavojas sākt, dodoties uz graph.facebook.com / billyjanitsch, 276 00:16:33,680 --> 00:16:38,430 kas ir mans unikāls konta nosaukumu, un jūsu konta nosaukums būs vai nu 277 00:16:38,430 --> 00:16:43,710 kādu vārdu veida ja esat izvēlējies to, vai tas varētu vienkārši būt virkne skaitļu. 278 00:16:43,710 --> 00:16:46,360 Ko mēs saņemam atpakaļ ir diezgan pamata informācija. 279 00:16:46,360 --> 00:16:50,460 Mēs redzam, ka man ir vārds, kas ir Billijs, uzvārds, kura ir Janitsch. 280 00:16:50,460 --> 00:16:53,370 Tur unikāls Facebook ID, kas man ir. 281 00:16:53,370 --> 00:16:57,920 Jūs varat redzēt, ka es esmu vīrietis, un ka man ir mana valodas iestatījumu 282 00:16:57,920 --> 00:17:01,290 British angļu. 283 00:17:01,290 --> 00:17:03,490 Citiem vārdiem sakot, mēs redzam ļoti pamatinformāciju šeit. 284 00:17:03,490 --> 00:17:08,670 Tas nav pārāk daudz, bet tas dod mums priekšstatu par to, kas ir tur. 285 00:17:08,670 --> 00:17:10,849 >> Mēs varam darīt to pašu ar David Malan, piemēram. 286 00:17:10,849 --> 00:17:13,599 Es domāju, ka viņa vārds ir dmalan. 287 00:17:13,599 --> 00:17:16,369 Mēs redzam Deivids Malan ir unikāls ID. 288 00:17:16,369 --> 00:17:19,300 Viņš ir, vārds, otrais vārds, uzvārds. 289 00:17:19,300 --> 00:17:24,210 Mēs arī redzam, ka viņš ir vīrietis un ir viņa valodas iestatīts uz ASV angļu. 290 00:17:24,210 --> 00:17:26,869 Citiem vārdiem sakot, mēs redzam diezgan pamatinformāciju šeit. 291 00:17:26,869 --> 00:17:28,860 Tagad, kas notiek, ja mēs cenšamies, lai pārbaudītu kaut ko citu? 292 00:17:28,860 --> 00:17:33,060 Pieņemsim, ka es esmu ieinteresēts, ko Dāvids Malan ir patika par Facebook. 293 00:17:33,060 --> 00:17:36,860 Es varu darīt / patīk. Tagad mēs esam uzskriet problēmas. 294 00:17:36,860 --> 00:17:39,280 Mēs esam ieguvuši kaut kādas kļūdas, kas saka piekļuves pilnvara 295 00:17:39,280 --> 00:17:41,660 ir nepieciešams pieprasīt šo resursu. 296 00:17:41,660 --> 00:17:44,730 Bet, ja jūs domājat par to, kas faktiski ir jēga, jo tas būtu dīvaini 297 00:17:44,730 --> 00:17:47,830 ja jūs varētu piekļūt katru daļu Facebook datubāzē 298 00:17:47,830 --> 00:17:50,170 tikai no kaut kādas vienkāršas API, vai ne? 299 00:17:50,170 --> 00:17:56,040 Citiem vārdiem sakot, domājams jūsu informāciju nevar piekļūt ikviens, kas to vēlas. 300 00:17:56,040 --> 00:17:58,330 >> Šī kļūda ir tieši tas, ko tas nozīmē. 301 00:17:58,330 --> 00:18:03,630 Daži API prasa noteiktus atļaujas, lai piekļūtu saviem datiem. 302 00:18:03,630 --> 00:18:06,940 Un vēl vairāk uzlabotas API, tāpat vienas Facebook, 303 00:18:06,940 --> 00:18:09,840 būs nepieciešama daži atļaujas izdarīt dažas lietas. 304 00:18:09,840 --> 00:18:12,650 Es redzu šo pamata informāciju par David Malan. 305 00:18:12,650 --> 00:18:15,950 Es redzu, ka viņš ir vīrietis un ka viņš dzīvo ASV, 306 00:18:15,950 --> 00:18:19,270 bet es nevaru īsti redzēt neko pagātnē to. 307 00:18:19,270 --> 00:18:23,050 Lai iegūtu ap šo, tagad, Facebook ir šo jauku rīku 308 00:18:23,050 --> 00:18:27,690 kas ir grafika API pētnieks, un no tā ideja ir varat kārtot par 309 00:18:27,690 --> 00:18:31,880 veido atļaujas sevi, balstoties uz savu kontu 310 00:18:31,880 --> 00:18:35,680 un pēc tam apskatīt lietas, kas speciāli jūsu konts var apskatīt. 311 00:18:35,680 --> 00:18:45,120 Piemēram, ja man graph.facebook.com/billyjanitsch/likes- 312 00:18:45,120 --> 00:18:53,510 Whoops, es domāju, man ir atkārtoti apstiprināt savu pilnvaru šeit. 313 00:18:53,510 --> 00:18:55,950 Labi. 314 00:18:55,950 --> 00:19:01,740 Ja man darīt atkal, lieliski, tagad es redzu, ka man šo objektu atpakaļ 315 00:19:01,740 --> 00:19:06,300 kas saka, ka man patīk baseins nūdeles, kas ir kategorijā spēlēm un rotaļlietām. 316 00:19:06,300 --> 00:19:08,620 Man patīk valzirgiem, kas ir kategorijā dzīvnieku. 317 00:19:08,620 --> 00:19:10,180 Tie ir manas īstās Facebook patīk. 318 00:19:10,180 --> 00:19:13,280 Viņi veida neērts. 319 00:19:13,280 --> 00:19:16,090 >> Bet mēs varam redzēt šos datus viss atgriezās JSON. 320 00:19:16,090 --> 00:19:18,160 Tas ir diezgan lasāma. 321 00:19:18,160 --> 00:19:20,970 Citiem vārdiem sakot, mums ir šī kartēšana datu uz kādām masīva, 322 00:19:20,970 --> 00:19:25,220 un katrs no šī masīva elements ir HashMap kas kartes 323 00:19:25,220 --> 00:19:28,530 gada līdzīgi nosaukumu un līdzīgi kategorija. 324 00:19:28,530 --> 00:19:31,240 Katrs tāpat ir unikāls ID. 325 00:19:31,240 --> 00:19:34,510 Ir visas dažādas lietas datu, ka mēs varam iegūt veidu, 326 00:19:34,510 --> 00:19:37,980 un, ja jūs interesē, izmantojot Facebook API ir CS50 galīgo projektu 327 00:19:37,980 --> 00:19:40,720 vai kaut ko, piemēram, ka tas ir faktiski diezgan veicams. 328 00:19:40,720 --> 00:19:44,260 Būtībā, kā jums apkārt autentifikācijas lieta ir Facebook 329 00:19:44,260 --> 00:19:48,030 izmanto sistēmu, ko sauc OAuth, vai Open autentifikācija, 330 00:19:48,030 --> 00:19:52,870 un es nevēlos, lai saņemtu to tagad, jo OAuth vai cita veida 331 00:19:52,870 --> 00:19:56,060 autentifikācijas tendence mainīties daudz starp dažādām API, 332 00:19:56,060 --> 00:19:58,320 lai es varētu pavadīt ilgu laiku iet pār katru vienu, 333 00:19:58,320 --> 00:20:01,170 bet viņi patiesībā diezgan pašsaprotami. 334 00:20:01,170 --> 00:20:04,050 >> Ja jūs Google Facebook API ir ļoti lasāms. 335 00:20:04,050 --> 00:20:06,670 Tur viss spec. 336 00:20:06,670 --> 00:20:10,210 Piemēram, tas ir dokumentācija par Facebook API, 337 00:20:10,210 --> 00:20:14,170 un jūs varat redzēt, es esmu par lietotāja lapā, lai es varētu uzzināt visu par dažādiem lietas 338 00:20:14,170 --> 00:20:17,170 kas ir pieejami, lai iegūtu cik vien datus 339 00:20:17,170 --> 00:20:21,550 un arī dažādas atļaujas, kas man ir nepieciešams, lai piekļūtu tiem. 340 00:20:21,550 --> 00:20:25,470 Kā mēs redzējām, mums nav nepieciešamas atļaujas, lai piekļūtu vārdu vai dzimumu, 341 00:20:25,470 --> 00:20:29,380 bet tālāk, ka mums ir nepieciešams atļaujas vairumā lietas. 342 00:20:29,380 --> 00:20:33,040 Šī lapa, vai drīzāk, šī tīmekļa vietne būs arī pateiks, kā nokļūt 343 00:20:33,040 --> 00:20:35,640 simbolisku lai varētu autentificēt sevi. 344 00:20:35,640 --> 00:20:39,290 Vairums autentifikācijas sistēmas izmantot kādu no simbolisku 345 00:20:39,290 --> 00:20:42,880 kur jūs saņemsiet šo unikālo vērtību, kas ir patiešām garš un izlases string, 346 00:20:42,880 --> 00:20:46,240 un tādā veidā viņi var saistīt pieprasījumu, ka jūs gūstat ar jums. 347 00:20:46,240 --> 00:20:50,560 Citiem vārdiem sakot, viņi zina, ka jūs neesat darot kaut ko aizdomīgu, ar saviem datiem. 348 00:20:50,560 --> 00:20:53,340 Viņi zina tieši to, ko jūs saņemat. 349 00:20:53,340 --> 00:20:56,180 Viņi arī zina, ka jums ir atļauja skatīt šo informāciju. 350 00:20:56,180 --> 00:20:59,110 >> Ja jūs esat veikuši Facebook app un jūsu app ir noteiktus lietotājus, 351 00:20:59,110 --> 00:21:03,380 un šie lietotāji ir atļauts, ka app piekļūt dažas daļas no to profila, 352 00:21:03,380 --> 00:21:07,790 tad neatkarīgi API atslēga vai žetons, ka app izmanto 353 00:21:07,790 --> 00:21:11,090 būs iespēja piekļūt datiem par šiem lietotājiem. 354 00:21:11,090 --> 00:21:13,780 Tas var izklausīties sarežģīti, bet tas nav pārāk slikti, 355 00:21:13,780 --> 00:21:16,810 un, ja jūs vēlaties izmantot Facebook Es ļoti iesakām jums 356 00:21:16,810 --> 00:21:18,990 uzskata spēlē aptuveni ar savu API. 357 00:21:18,990 --> 00:21:21,610 Tas ir ļoti foršs, un jūs varat darīt daudz dažādas lietas ar to. 358 00:21:21,610 --> 00:21:24,880 Ja lietotājs piešķir jums šos atļaujas jūs pat varat doties atpakaļ uz API 359 00:21:24,880 --> 00:21:28,820 un teikt, es gribu tiešām nosūtīt uz šī lietotāja sienas, vai es gribu, lai tos publicētu fotoattēlu, 360 00:21:28,820 --> 00:21:32,390 un tāpēc par savu ziņu barību jūs dažreiz saņemt šos kaitinošas lietas 361 00:21:32,390 --> 00:21:37,840 Sakot jūsu draugs ir noskatījos šo video uz kaut kādu dīvainu vietu vai kaut kas tamlīdzīgs. 362 00:21:37,840 --> 00:21:43,120 Tas ir tāpēc, ka app ir piešķirts pieejama pēc šīs personas sienas. 363 00:21:43,120 --> 00:21:48,350 Ideja kopumā, Facebook API ir diezgan sarežģīti, bet arī ļoti noderīgs. 364 00:21:48,350 --> 00:21:53,220 Noteikti ir vērts pārbaudīt, ja jūs joprojām meklējat galīgo projektu. 365 00:21:53,220 --> 00:21:57,930 >> Vēl API komplekts, kas es esmu, kas iet pāri, ir CS50 API. 366 00:21:57,930 --> 00:22:00,070 Ļaujiet man tuvinātu šeit. 367 00:22:00,070 --> 00:22:03,390 CS50 ir faktiski likts kopā virkni API 368 00:22:03,390 --> 00:22:07,080 ka jūs varat izmantot, lai pieņemtu galīgo projektu vai vienkārši par to, kas jūs esat veidošanā. 369 00:22:07,080 --> 00:22:12,830 Un viņi lielākoties Hārvardas saistītas, un tās atšķiras no Huds izvēlnē 370 00:22:12,830 --> 00:22:17,780 Piemēram, šī Harvard Notikumi API, kas ļauj piekļūt sarakstu 371 00:22:17,780 --> 00:22:21,290 dažādi notikumi, kas notiek pie Harvard un ka veida lieta. 372 00:22:21,290 --> 00:22:24,510 Un tā mēs varam noklikšķiniet uz kādu no šiem, un saņemt spec par to, 373 00:22:24,510 --> 00:22:28,090 ko jūs varēsiet atrast jebkuru API, un ideja ir 374 00:22:28,090 --> 00:22:33,920 tas ļauj uzzināt, konkrēti kādi pieprasīt no API un kā to pieprasīt. 375 00:22:33,920 --> 00:22:37,370 Citiem vārdiem sakot, ja es gribu visus notikumus, kas notiek rīt 376 00:22:37,370 --> 00:22:42,550 tad man ir acīmredzami arī tā, ka termiņš, ko es gribu, kas noteiktā formātā, 377 00:22:42,550 --> 00:22:46,030 un B, tas man pateikt, ko tieši tas notiek, lai dotu atpakaļ uz mani. 378 00:22:46,030 --> 00:22:48,590 Tā teikt es esmu gatavojas atgriezties jums šo JSON objektu, 379 00:22:48,590 --> 00:22:50,960 vai, piemēram, jūs varat redzēt, tur ir dažādi formāti. 380 00:22:50,960 --> 00:22:54,050 >> Jūs varat arī atgriezt datus kā CSV, piemēram. 381 00:22:54,050 --> 00:22:57,620 Bet jūs zināt, kā tieši, ka dati ir skatīsies, kad jums to atpakaļ 382 00:22:57,620 --> 00:23:00,610 lai jūs varētu sagaidīt darīt dažas lietas ar to. 383 00:23:00,610 --> 00:23:07,240 Mēs varam ritināt uz leju un redzēt, piemēram, ja mēs vēlamies, lai vaicājumu API 384 00:23:07,240 --> 00:23:11,500 lai iegūtu kalendāru, tad mēs varam izmantot šo konkrēto URL 385 00:23:11,500 --> 00:23:16,480 un dod tai konkrēti parametri, kas ir būs dati, ka mēs vēlamies tieši. 386 00:23:16,480 --> 00:23:19,540 Un tāpat, ja mēs gribam datus atpakaļ noteiktā formātā, 387 00:23:19,540 --> 00:23:23,790 tad mēs varam lūgt, lai izvadīt datus CSV, 388 00:23:23,790 --> 00:23:27,700 un tas ir tikai viens parametrs, ka mēs iet uz API. 389 00:23:27,700 --> 00:23:29,210 Daudz labas lietas darīt tur. 390 00:23:29,210 --> 00:23:32,550 Es noteikti ieteiktu pārbaudīt out CS50 API. 391 00:23:32,550 --> 00:23:36,000 >> Es esmu gatavojas apskatīt šo Hārvarda pārtikas API jo īpaši, lai mazliet. 392 00:23:36,000 --> 00:23:39,870 Viena lieta, ko es esmu faktiski izstrādāta tas ir Hārvarda Noms mājas lapā, 393 00:23:39,870 --> 00:23:44,930 kas izmanto CS50 Pārtikas API lai ielādētu HUDS izvēlni dienu. 394 00:23:44,930 --> 00:23:50,400 Un pagarinājumu skolu cilvēkiem, HUDS ir ēdamistaba dienests Harvard. 395 00:23:50,400 --> 00:23:55,130 Kas jums ir šī lapa, kas satur visas dienas ēdienreizēs, tāpēc mēs redzam pusdienas. 396 00:23:55,130 --> 00:23:58,130 Mums ir dažas dažādas kategorijas. Mums ir pupu un pilngraudu stacija. 397 00:23:58,130 --> 00:24:00,340 Mums ir brūno rīsu staciju. 398 00:24:00,340 --> 00:24:03,360 Mēs varam redzēt vēlās brokastis mums ir šīs dažas pārtikas preces. 399 00:24:03,360 --> 00:24:07,030 Ja mēs noklikšķiniet uz viņiem, tad mēs iegūtu informāciju par uzturvērtību. 400 00:24:07,030 --> 00:24:12,240 Jūs redzat šī ir informācija par uzturvērtību uz greipfrūta, ja jūs domājām. 401 00:24:12,240 --> 00:24:14,870 Un tā atkal, mēs ejam, lai peer atpakaļ beigās šeit mazliet 402 00:24:14,870 --> 00:24:18,530 un redzēt, ko tieši tas dara, lai iegūtu šo informāciju. 403 00:24:18,530 --> 00:24:21,710 Un izrādās, ne patiesībā var būt ļoti sarežģīta vispār. 404 00:24:21,710 --> 00:24:28,720 Šis fails izskatās mazliet netīrs, bet paturiet prātā, ka tas ir apstrādes visu portālu, 405 00:24:28,720 --> 00:24:34,130 un ja es ritiniet uz leju, mēs redzam šo pārmaiņu datu funkciju. 406 00:24:34,130 --> 00:24:36,630 >> Tagad, tikai lai būtu skaidrs, tas ir rakstīts CoffeeScript, 407 00:24:36,630 --> 00:24:39,570 kas ir valodas, kas jums, iespējams, nav redzējis. 408 00:24:39,570 --> 00:24:44,810 Bet tas ir diezgan lasāma, tāpēc es ņemšu staigāt pa to, it kā tas būtu pseudocode. 409 00:24:44,810 --> 00:24:49,080 Izmaiņas diena ir funkcija, kas notiek, lai šo datumu vērtības, 410 00:24:49,080 --> 00:24:51,740 un tas ir arī gatavojas uzņemt pirmais, kas mums nav jārūpējas par tik daudz. 411 00:24:51,740 --> 00:24:54,110 Bet svarīgi ir tas, ka tā ir šo datumu, 412 00:24:54,110 --> 00:25:00,080 un šis datums ir diena, ka mēs vēlamies lūgt visus pārtikas preces par. 413 00:25:00,080 --> 00:25:04,030 Un tad jūs redzat mums ir mazliet sintaksi, 414 00:25:04,030 --> 00:25:09,000 kas būtībā ir analizējot šo datumu lasāmā formātā. 415 00:25:09,000 --> 00:25:11,920 Citiem vārdiem sakot, API pieprasa datumu noteiktā formātā. 416 00:25:11,920 --> 00:25:17,390 Jūs varat ne tikai teikt 16 novembris 2012 AD. 417 00:25:17,390 --> 00:25:20,320 Tas nebūs zināt, ko darīt ar to. Tā vēlas datumu noteiktā formātā. 418 00:25:20,320 --> 00:25:23,230 Visi mēs darām šeit dod tieši tā, ka formāts, 419 00:25:23,230 --> 00:25:26,520 kas ir gads un tālāk defisi, mēneša vērtība, 420 00:25:26,520 --> 00:25:29,420 cits defise un datumu vērtības. 421 00:25:29,420 --> 00:25:34,910 Un mēs arī teikt, ka mēs vēlamies, lai dati būtu izeja JSON. 422 00:25:34,910 --> 00:25:37,560 >> Tagad mēs esam padarot šo AJAX pieprasījumu, un, kā jau iepriekš minēju, 423 00:25:37,560 --> 00:25:41,680 jQuery ir šī super noderīgu AJAX funkciju, kas viss, kas jums jādara, ir norādīt 424 00:25:41,680 --> 00:25:45,780 daži parametri noteikti šeit, un tas dos jums tieši to, ko jūs vēlaties. 425 00:25:45,780 --> 00:25:50,490 Mēs stāstīt to, ka URL mēs vēlamies, lai tas iet uz tas CS50 Pārtikas API, 426 00:25:50,490 --> 00:25:52,270 ko mēs saņēmām no spec. 427 00:25:52,270 --> 00:25:56,730 Mēs sakām, ka mēs vēlamies datus JSON un ka 428 00:25:56,730 --> 00:25:59,490 mēs esam gatavojas sniegt tai šos datus, kas mēs esam noteikti šeit. 429 00:25:59,490 --> 00:26:02,670 Šī ir diena, mēs vēlamies pārtikas preces par. 430 00:26:02,670 --> 00:26:07,790 Un tad viss, kas mums ir jādara, ir noteikt kaut kādas veiksmes funkciju, 431 00:26:07,790 --> 00:26:11,980 kas būtībā ir tas, kas notiek, kad API atgriež šos datus. 432 00:26:11,980 --> 00:26:15,490 Citiem vārdiem sakot, mēs esam iepakotas up visiem parametriem, ko mēs vēlamies, 433 00:26:15,490 --> 00:26:20,530 kas šajā gadījumā ir diena, ka mēs gribam to un to, ka mēs vēlamies to JSON, 434 00:26:20,530 --> 00:26:23,840 un mēs nosūtīja to off uz API, tāpēc tagad API saka, labi, 435 00:26:23,840 --> 00:26:26,350 Šeit ir jūsu dati, es saņēmu to atpakaļ uz jums. 436 00:26:26,350 --> 00:26:29,930 Mums ir veiksmes funkcija, kas nozīmē, ņemot vērā, ka API 437 00:26:29,930 --> 00:26:32,230 veiksmīgi atgriežas daži dati, ko mums darīt ar to? 438 00:26:32,230 --> 00:26:35,980 >> Un izrādās, ka viss, ko mēs darīt, ir zvanīt šis atjauninājums izvēlnes funkcija 439 00:26:35,980 --> 00:26:42,680 ar kāda API ir atgriezies, lai mēs varam meklēt, ka 440 00:26:42,680 --> 00:26:47,970 un redzēt, ka viss, ko mēs darām, ir, izmantojot ķekars jaunas sintakses šeit 441 00:26:47,970 --> 00:26:52,220 atjaunināt HTML un ievietot šo jaunus datus. 442 00:26:52,220 --> 00:26:56,580 Ko tas dod, ir mums ir šie bultiņām abās pusēs, un mēs varam noklikšķiniet, 443 00:26:56,580 --> 00:27:01,060 un tagad mēs meklējam par nākamo dienu datiem un atkal nākamajā dienā, 444 00:27:01,060 --> 00:27:04,820 un katru reizi, kad tā atjauninot šo datumu vērtību un vaicājumiem API, 445 00:27:04,820 --> 00:27:07,510 iegūt atpakaļ dažus datus un nodot to vietā. 446 00:27:07,510 --> 00:27:10,590 Atkal, jūs varat redzēt, super, super noderīgu. 447 00:27:10,590 --> 00:27:14,410 Šī lietotne aizveda mani dažas stundas, lai banalizēt kopā, 448 00:27:14,410 --> 00:27:20,140 un man ir mazliet vairāk pieredzes, protams, bet savu CS50 gala projektu 449 00:27:20,140 --> 00:27:22,870 var izskatīties kaut kas ļoti daudz, piemēram, šis. 450 00:27:22,870 --> 00:27:29,540 >> API ir super spēcīgs par piepūli, ka tās veic. 451 00:27:29,540 --> 00:27:32,800 Pēdējā lieta, ko es esmu gatavojas iet pa ir daži daudz API kopumā. 452 00:27:32,800 --> 00:27:35,480 Es ne iegūt, cik tajās cik to, ko viņi dara konkrēti, 453 00:27:35,480 --> 00:27:38,740 bet es došu jums priekšstatu par to, kas tur. 454 00:27:38,740 --> 00:27:42,700 2 tiešām noderīgi tiem, ja jūs interesē datu analīzi vai vizualizācija 455 00:27:42,700 --> 00:27:45,960 vai kaut kas tamlīdzīgs, ir Freebase un Wikipedia. 456 00:27:45,960 --> 00:27:49,800 Wikipedia-domājams jūs visi zināt, ir bezmaksas tiešsaistes enciklopēdija, 457 00:27:49,800 --> 00:27:53,230 un tas tiešām ir API, tādēļ, ja jūs vēlaties, lai, piemēram, 458 00:27:53,230 --> 00:27:56,250 saņemt visus tekstus un par astoņkāji rakstus 459 00:27:56,250 --> 00:27:58,030 Jūs varat ļoti viegli darīt. 460 00:27:58,030 --> 00:28:02,300 Tikai teikt hey, Wikipedia API, es gribētu tiem datiem, jo ​​tas, 461 00:28:02,300 --> 00:28:07,010 un es gribētu to šajā formātā, un raksts es gribētu, ir astoņkājis, 462 00:28:07,010 --> 00:28:09,820 un ļoti ātri tas dos jums atpakaļ šo informāciju. 463 00:28:09,820 --> 00:28:12,230 Tas var būt patiesi noderīga, ja jūs vēlaties veikt kaut kādas vietas 464 00:28:12,230 --> 00:28:16,200 tas labāk skatītājs Wikipedia vai kaut kas tamlīdzīgs. 465 00:28:16,200 --> 00:28:21,350 >> Freebase ir veida līdzīga, lai gan tas ir mazliet grūtāk, cik API. 466 00:28:21,350 --> 00:28:24,390 Freebase ir kā Wikipedia, jo tas ir tiešsaistes enciklopēdija 467 00:28:24,390 --> 00:28:29,050 kas satur daudz un daudz dažādu datu par visu dažādām tēmām veidu, 468 00:28:29,050 --> 00:28:33,150 bet tas glabājas relāciju datu bāzē, kas nedaudz atšķiras no Wikipedia. 469 00:28:33,150 --> 00:28:36,410 Wikipedia ir savas raksti un raksti, kas saistīti ar citiem pantiem, 470 00:28:36,410 --> 00:28:38,860 bet lielākā daļa, ja jūs vēlaties, datus par astoņkāji, 471 00:28:38,860 --> 00:28:41,990 doties uz astoņkājis rakstu, iegūt šos datus, un jums ir ķekars teksta 472 00:28:41,990 --> 00:28:43,830 par astoņkājiem, tā ka ir liels. 473 00:28:43,830 --> 00:28:46,870 Freebase strādā nedaudz sarežģītāka veidā, ka 474 00:28:46,870 --> 00:28:48,930 viss ir saistītas viena ar otru. 475 00:28:48,930 --> 00:28:52,620 Citiem vārdiem sakot, ja mēs meklējam astoņkāju 476 00:28:52,620 --> 00:28:54,940 tad tas ir ķekars kategoriju saistītas ar to. 477 00:28:54,940 --> 00:28:57,920 >> Piemēram, tas ir dzīvnieks, tas dzīvo zemūdens, 478 00:28:57,920 --> 00:28:59,710 tā ir noteiktu ķermeņa temperatūru. 479 00:28:59,710 --> 00:29:01,210 Es nezinu. 480 00:29:01,210 --> 00:29:04,230 Un visi no šīm kategorijām ir saites uz citām vietām, kur jūs varat iet 481 00:29:04,230 --> 00:29:06,640 lai redzētu lietas ar šo pašu kategoriju. 482 00:29:06,640 --> 00:29:13,450 Citiem vārdiem sakot, astoņkājis datu kopa varētu saturēt saiti uz datiem, kas par visiem dzīvniekiem, 483 00:29:13,450 --> 00:29:16,790 un kas varētu ļaut man pārvietoties datubāzē tiešām ātri. 484 00:29:16,790 --> 00:29:21,740 Tas var būt ļoti noderīgi, ja jūs darāt kaut ko līdzīgu salīdzinājumus. 485 00:29:21,740 --> 00:29:24,490 Citiem vārdiem sakot, ņemot vērā dažas lietas, jūs vēlaties redzēt 486 00:29:24,490 --> 00:29:27,890 ko vēl tas ir saistīts ar un redzēt, ko vēl tas nav saistīts ar. 487 00:29:27,890 --> 00:29:30,700 Ka veida lieta. Tas var būt noderīgi dažādos veidos. 488 00:29:30,700 --> 00:29:34,250 Ja jūs meklējat vairāk izaicinājums un lai varētu veikt dažas sarežģītākas lietas 489 00:29:34,250 --> 00:29:38,740 Es uzskatu, ņemot apskatīt Freebase API. 490 00:29:38,740 --> 00:29:44,670 Bet lielākoties, Wikipedia ir ļoti vienkāršs vieta, kur iet tik tālu, kā iegūt informāciju. 491 00:29:44,670 --> 00:29:48,340 Vēl viena vieta, kas es ņemšu apskatīt ir Last.fm, un es esmu patiešām gatavojas doties uz vietni 492 00:29:48,340 --> 00:29:53,800 gadījumā, ja daži cilvēki nav pazīstami, bet Last.fm ir būtībā mūzikas 493 00:29:53,800 --> 00:29:57,220 gaumes un ieteikumi mājas lapā. 494 00:29:57,220 --> 00:29:59,000 Jūs varat veikt kontu. 495 00:29:59,000 --> 00:30:04,250 Jūs varat sākt augšupielādējot mūziku no jūsu mūzikas atskaņotāju 496 00:30:04,250 --> 00:30:08,020 uz tīmekļa vietni, un būtībā tas sāks dodot jums mūzikas ieteikumus 497 00:30:08,020 --> 00:30:10,030 pamatojoties uz to, ko jūs klausīties. 498 00:30:10,030 --> 00:30:14,270 >> Piemēram, ja jums iet uz jūsu profila lapā-tas ir mīnu 499 00:30:14,270 --> 00:30:18,180 Jūs varat redzēt, jums ir saraksts ar nesen klausījās dziesmas. 500 00:30:18,180 --> 00:30:22,550 Jūs varat redzēt kopējo mīļākie mākslinieki, visi, ka veida lieta, 501 00:30:22,550 --> 00:30:25,280 un atkal, tur ir liels API aiz Last.fm, 502 00:30:25,280 --> 00:30:29,360  un jūs varat izmantot to darīt daudz un daudz tiešām labas lietas. 503 00:30:29,360 --> 00:30:38,870 Piemēram, es iešu uz drauga lapā kurš ir šī Last.fm Tools mājas lapā. 504 00:30:38,870 --> 00:30:42,380 Tas ir tiešām cita platforma, kas ir būvēts uz Last.fm API, 505 00:30:42,380 --> 00:30:45,420 un tas vairākas diezgan interesantas lietas. 506 00:30:45,420 --> 00:30:50,260 Ja es pieteikties ar savu lietotāja vārdu, piemēram, 507 00:30:50,260 --> 00:30:53,110 Es varu lūgt to, lai radītu tagu mākonis, piemēram, 508 00:30:53,110 --> 00:30:56,480 un ko tas gatavojas darīt, ir dot man atpakaļ tēlu 509 00:30:56,480 --> 00:30:59,850 visi dažādu žanru un ka veida lieta, kas man patīk klausīties. 510 00:30:59,850 --> 00:31:01,410 Kā tas ir to izdarīt? 511 00:31:01,410 --> 00:31:05,670 Ļoti būtībā tas ir saprotams ar Last.fm API lūk šis lietotājs. 512 00:31:05,670 --> 00:31:10,710 Es gribētu zināt žanra katru dziesmu, ka tie esam jebkad klausījās, 513 00:31:10,710 --> 00:31:15,130 un jūs varat darīt, ka, veicot diezgan vienkāršs AJAX zvanu uz Last.fm API. 514 00:31:15,130 --> 00:31:18,990 Jūs saņemsiet atpakaļ liels saraksts, un tad acīmredzot daži citi sīkumi tiek darīts 515 00:31:18,990 --> 00:31:22,280 pārvērst to par vārda mākonis, bet jūs varat redzēt vispārējā 516 00:31:22,280 --> 00:31:25,850 tas ir ļoti viegli piekļūt un ļoti viegli izmantot. 517 00:31:25,850 --> 00:31:30,750 Tiešām jauks, lai vairākas lietas. 518 00:31:30,750 --> 00:31:35,940 >> Es domāju, ka viss, ko es saku kopumā. 519 00:31:35,940 --> 00:31:39,040 Viens no pēdējā lieta, ko es ņemšu pieminēt par API vispār ir tā, ka 520 00:31:39,040 --> 00:31:41,840 jūs reizēm uzskriet kaut ko sauc likmi ierobežo, 521 00:31:41,840 --> 00:31:44,940 un ātrumu ierobežojošs ideja ir jūs nevēlaties ļaunprātīgi API. 522 00:31:44,940 --> 00:31:48,130 Citiem vārdiem sakot, tas ir patiešām jauki, ka no šīm tīmekļa vietnēm daudz ir API 523 00:31:48,130 --> 00:31:51,070 ka jūs varat doties uz un izmantot par brīvu. 524 00:31:51,070 --> 00:31:54,460 Tomēr, ja jūs gūstat miljoniem vai miljardiem pieprasījumu dienā, 525 00:31:54,460 --> 00:31:57,610 Piemēram, ja jūs esat iestrēdzis bezgalīga cilpa, kas ir bezgala vaicājumiem 526 00:31:57,610 --> 00:32:00,680 daži no API kārtot un saņemt atpakaļ milzīgu datu apjomu, 527 00:32:00,680 --> 00:32:04,570 protams, ka nav labi, lai to, ko API daudz darīt, ir būt šo likmi ierobežo funkciju 528 00:32:04,570 --> 00:32:09,970 kas saka, jūs varat tikai veikt 1000 pieprasījumus dienā par IP adresi vai kaut kas tamlīdzīgs. 529 00:32:09,970 --> 00:32:12,540 Un, ja jūs darāt testēšanas daudz un ka veida lieta, 530 00:32:12,540 --> 00:32:14,890 jūs reizēm uzskriet ka, un pēkšņi tas shut jums off 531 00:32:14,890 --> 00:32:18,280 un teikt nē, es neesmu dodot jums vairāk datu. 532 00:32:18,280 --> 00:32:20,000 >> Ko jūs vēlaties darīt, ir spēlēt pēc noteikumiem. 533 00:32:20,000 --> 00:32:22,950 Jūs vēlaties pārliecināties, ka jūs lasīt API spec uzmanīgi. 534 00:32:22,950 --> 00:32:26,330 Ja tas ir noteiktas normas, kas tai pievienoti, piemēram, jūs varat tikai veikt rentgena vaicājumus dienā 535 00:32:26,330 --> 00:32:30,000 vai jūs varat piekļūt tikai daļu no datubāzes noteiktu skaitu reižu 536 00:32:30,000 --> 00:32:32,900 vai kaut kas tamlīdzīgs, ka jūs vēlaties, lai pārliecinātos, ka jūs stick ar to. 537 00:32:32,900 --> 00:32:38,360 Kamēr jūs spēlēt šajos noteikumos jūs, iespējams, ir tiešām jauks laiks, izmantojot API. 538 00:32:38,360 --> 00:32:42,030 Jūsu kopējais takeaway ir API ir ļoti, ļoti noderīga. 539 00:32:42,030 --> 00:32:45,610 >> Tur API gandrīz jebkura liela interneta pakalpojumu, kas tur. 540 00:32:45,610 --> 00:32:50,700 Diezgan daudz jebkura daļa no Google Tools Suite, Google Maps, Google Earth, 541 00:32:50,700 --> 00:32:54,390 Gmail, Google Calendar, visas šīs lietas ir API. 542 00:32:54,390 --> 00:32:58,280 Jūs varat izmantot tos, lai gan iegūt datus no servera un nosūtīt datus uz serveri. 543 00:32:58,280 --> 00:33:00,870 Citiem vārdiem sakot, ja jūs vēlētos, lai izveidotu kalendāra app, kas var atjaunināt 544 00:33:00,870 --> 00:33:04,190 kāds ir Google Calendar, tur API to. 545 00:33:04,190 --> 00:33:07,810 Ja jūs vēlaties, lai kaut kas notiek, lai pateikt, kur 546 00:33:07,810 --> 00:33:12,530 par noteiktu adresi vieta ir varat izmantot Google Maps API par to. 547 00:33:12,530 --> 00:33:15,860 API ir fantastiski noderīga, un viņi visur. 548 00:33:15,860 --> 00:33:18,700 Ja jūs interesē kāda veida idejas, 549 00:33:18,700 --> 00:33:22,170 tur droši vien saistītu API, kas var izmantot, lai iegūtu daudz datu 550 00:33:22,170 --> 00:33:25,060 ļoti ātri un ļoti vienkārši. 551 00:33:25,060 --> 00:33:28,140 >> Ja jūs joprojām meklējat projektam vai, ja jūs vienkārši vēlaties spēlēt aptuveni 552 00:33:28,140 --> 00:33:31,820 ar kaut kopumā, API ir noteikti vērts darīt. 553 00:33:31,820 --> 00:33:37,200 Paldies, un es esmu laimīgs, lai atbildētu uz visiem jautājumiem, kas jums puiši varētu būt. 554 00:33:37,200 --> 00:33:44,900 Labi, pateicoties daudz. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]