1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [Seminar] [Panimula ay programista sa Mga API] 2 00:00:02,480 --> 00:00:04,059 [Billy Janitsch] [Harvard University] [Tommy MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [Ito ay CS50.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> Kumusta, lahat, ako Billy, at ngayon ako pagpunta sa pakikipag-usap tungkol sa Mga API, 5 00:00:12,100 --> 00:00:15,220 o application programming interface, 6 00:00:15,220 --> 00:00:20,040 partikular sa konteksto ng CS50 panghuling proyekto at na uri ng bagay. 7 00:00:20,040 --> 00:00:22,490 Sa pangkalahatan kung ano ang isang API? 8 00:00:22,490 --> 00:00:25,530 Sa napaka-malawak na mga tuntunin, ang uri ng isang gitnang tao na nagpapahintulot sa 2 piraso 9 00:00:25,530 --> 00:00:28,610 ng software upang makipag-ugnay sa bawat isa. 10 00:00:28,610 --> 00:00:32,530 Na ang isang uri ng napaka-malawak na kahulugan at hindi na may-katuturan para sa kung ano ang iyong hinahanap namin sa. 11 00:00:32,530 --> 00:00:35,450 Ano namin talagang gusto ang ilang uri ng mga kapaki-pakinabang na lupa sa gitna 12 00:00:35,450 --> 00:00:40,570 makipag-ugnayan sa ilang mga uri ng database sa isang lugar. 13 00:00:40,570 --> 00:00:43,310 >> Narito ang isang tsart, at isa lamang ideya na 14 00:00:43,310 --> 00:00:46,790 namin ang isang application, at gusto naming upang makakuha ng mga data mula sa isang database, 15 00:00:46,790 --> 00:00:49,570 ngunit hindi namin nais direkta sa query sa database. 16 00:00:49,570 --> 00:00:52,710 Sa halip gusto naming upang pumunta sa pamamagitan ng ganitong uri ng gitna tao, ang API. 17 00:00:52,710 --> 00:00:55,440 Ang ideya sa likod na numero 2 at 3 sa tsart 18 00:00:55,440 --> 00:00:57,750 ay parehong napaka-komplikadong at magulo. 19 00:00:57,750 --> 00:00:59,960 Sa ibang salita, kapag ang API ang querying sa database, 20 00:00:59,960 --> 00:01:03,300 marahil ito na gumagamit ng SQL mga talahanayan at lahat na uri ng mga bagay-bagay, 21 00:01:03,300 --> 00:01:05,489 at hindi na namin natutunan ng kaunti tungkol dito sa CS50, ngunit pangkalahatang, 22 00:01:05,489 --> 00:01:07,590 napansin mo na ito ay isang bit ng isang sakit. 23 00:01:07,590 --> 00:01:10,590 Nagiging sobrang, napaka-komplikadong at magulo, lalo na kapag nagsasagawa ka ng 24 00:01:10,590 --> 00:01:12,530 kumplikadong mga query at na uri ng bagay. 25 00:01:12,530 --> 00:01:15,960 >> Ano namin talagang gusto ang ilang uri ng mga kapaki-pakinabang at simpleng paraan 26 00:01:15,960 --> 00:01:19,780 upang makakuha ng mga data na iyon, at na ang ideya sa likod ng mga numero 1 at 4 sa chart. 27 00:01:19,780 --> 00:01:23,600 Sa ibang salita, nais naming talagang simpleng paraan upang sabihin ang API kung ano upang makakuha ng para sa amin 28 00:01:23,600 --> 00:01:27,760 at talagang simpleng paraan upang makuha ang data na iyon pabalik. 29 00:01:27,760 --> 00:01:33,020 May ay isang pangunahing paraan na ang data na karaniwang ipinadala at natanggap, 30 00:01:33,020 --> 00:01:36,490 na JSON, o JavaScript na Bagay pagtatanda. 31 00:01:36,490 --> 00:01:40,370 Na maaaring mag-iba ng kaunti tulad ng kung paano magpadala sa iyo ang kahilingan sa API. 32 00:01:40,370 --> 00:01:43,210 Sa ibang salita, kung nais mo ang ilang tiyak na halaga ng data, 33 00:01:43,210 --> 00:01:46,670 kung paano sabihin sa iyo ang API upang makuha ang data na iyon ay maaaring mag-iba ng kaunti. 34 00:01:46,670 --> 00:01:49,210 Karaniwan ito ay nagsasangkot ng paggawa ng ilang uri ng mga kahilingan sa network. 35 00:01:49,210 --> 00:01:53,130 Sa ibang salita, ang access sa ilang uri ng mga URL na pagpunta sa sabihin sa API 36 00:01:53,130 --> 00:01:56,190 eksakto kung ano ang nais mo, ngunit ang data ay halos palaging ibabalik, 37 00:01:56,190 --> 00:01:59,530 sa ibang salita, ang numero 4 sa JSON. 38 00:01:59,530 --> 00:02:01,030 >> Ano ang JSON eksakto? 39 00:02:01,030 --> 00:02:03,030 Tulad ng sinabi ko, JavaScript Bagay pagtatanda. 40 00:02:03,030 --> 00:02:07,090 Ito ay isa lamang ang unibersal na pamantayan para sa pagpapadala at pagtanggap ng data. 41 00:02:07,090 --> 00:02:11,410 Ang ideya ay na mayroon kang mga 3 mga kategorya ng mga bagay. 42 00:02:11,410 --> 00:02:13,540 Mayroon kang array, hashmaps, at primitive. 43 00:02:13,540 --> 00:02:16,580 Array at hashmaps Tiningnan mo na sa ilang sandali sa CS50, 44 00:02:16,580 --> 00:02:19,870 ngunit uri ng nakuha ng isang napaka-mahigpit na kahulugan ng kung ano ang mga ito. 45 00:02:19,870 --> 00:02:22,780 Sa ibang salita, may mga array na alam mo na sila ay type bound, 46 00:02:22,780 --> 00:02:26,560 kaya mayroon ka lamang ng isang uri ng uri na napupunta sa buong array. 47 00:02:26,560 --> 00:02:29,310 JSON ay ng maraming mas hindi mahigpit na uri ng bagay. 48 00:02:29,310 --> 00:02:33,590 Talaga ideya ay sa iyo na bumuo ng mga bagay na ito, 49 00:02:33,590 --> 00:02:36,270 na maaaring binubuo ng anumang ng mga 3 mga bagay 50 00:02:36,270 --> 00:02:39,470 at maaaring binubuo ng maramihang mga sa kanila, at sila ay nested. 51 00:02:39,470 --> 00:02:42,110 >> Narito ang uri ng isang halimbawa ng JSON, 52 00:02:42,110 --> 00:02:47,910 na mga kulot bracket dito ay kumakatawan sa iyong hashmap, 53 00:02:47,910 --> 00:02:51,400 at ang hashmap isang ay isa lamang sa pagmamapa mula sa ilang uri ng key 54 00:02:51,400 --> 00:02:53,340 sa ilang mga uri ng halaga. 55 00:02:53,340 --> 00:02:56,440 Makikita mo ang dito na mayroon kaming ang mga katangian ng key, 56 00:02:56,440 --> 00:02:59,600 at na pagma-map papunta sa isang array, na kung saan ay ang buong bagay na ito. 57 00:02:59,600 --> 00:03:04,120 Nakikita namin ng isa pang elemento ng ang hashmap, kung saan ay ang key na ito isAwesome, 58 00:03:04,120 --> 00:03:07,370 kung aling mga mapa sa isang primitive na halaga ng tunay na, sa ibang salita, ang isang boolean. 59 00:03:07,370 --> 00:03:09,420 Primitive maaaring string. Maaari silang maging integer. 60 00:03:09,420 --> 00:03:11,960 Maaari silang bools, anumang bagay tulad na. 61 00:03:11,960 --> 00:03:18,410 At makita mo ang mga nilalaman ng array na ito na katangian ng puntos sa ay may 2 string sa loob nito, 62 00:03:18,410 --> 00:03:20,050 self-katulad at kamangha-manghang. 63 00:03:20,050 --> 00:03:27,410 Iyon ang 2 mga katangian ng JSON, at nakita namin na JSON ay kahanga-hangang. 64 00:03:27,410 --> 00:03:30,060 Upang tingnan ang isang maliit na mas malapit ako pagpunta sa bumuo 65 00:03:30,060 --> 00:03:32,870 mas kumplikadong halimbawa ng JSON dito. 66 00:03:32,870 --> 00:03:37,000 >> Hayaan magsimula sa isang array, halimbawa, ng isang walang laman na array. 67 00:03:37,000 --> 00:03:39,180 Ngunit iyon lamang ang uri ng pagbubutas, kaya kami ay pagpunta sa punan ito ng kaunti, 68 00:03:39,180 --> 00:03:43,420 at bilang ko sinabi, array sa JSON ay type bound, 69 00:03:43,420 --> 00:03:46,400 kaya kami ay mayroon ding isang string dito, na hi, 70 00:03:46,400 --> 00:03:49,330 at na ang isa pang elemento ng array na. 71 00:03:49,330 --> 00:03:53,450 At din, maaari naming magdagdag ng isang hashmapping dito, na kung saan ay pagpunta sa magkaroon ng ilang mga pagmamapa. 72 00:03:53,450 --> 00:04:00,470 Ito ay pagpunta sa pagmamapa mula sa pangalan sa string Billy. 73 00:04:00,470 --> 00:04:04,590 Mayroon kaming sa pagmamapa mula sa pangalan sa Billy, at mayroon kami ng pagma-map ng 74 00:04:04,590 --> 00:04:10,860 paboritong kulay sa asul. 75 00:04:10,860 --> 00:04:12,700 Iyon ay isa lamang isang magandang halimbawa ng JSON. 76 00:04:12,700 --> 00:04:18,160 Ito uri ng ay nakakakuha sa-Whoops, kailangan ng kuwit doon-lahat ng iba't ibang mga bahagi nito. 77 00:04:18,160 --> 00:04:21,140 Muli, hindi ito type sumunod sa lahat, kaya maaari kang magkaroon ng anumang uri ng mga uri 78 00:04:21,140 --> 00:04:24,710 sa loob ng anumang nais mo, at ideya ay self-katulad. 79 00:04:24,710 --> 00:04:28,830 Sa ibang salita, ito karapatan dito ay isang JSON object, bilang ay ang buong bagay na ito, 80 00:04:28,830 --> 00:04:33,200 bilang lamang ito, kaya maaari kang magkaroon ng isang primitive isang bagay, 81 00:04:33,200 --> 00:04:35,680 array ng isang bagay o hashmap ng isang bagay. 82 00:04:35,680 --> 00:04:40,270 >> Bilang maaari mong uri ng makita, JSON talaga, talagang kapaki-pakinabang na ito kaya maraming nagagawa. 83 00:04:40,270 --> 00:04:45,860 Maaari kang magkaroon ng anumang posibleng mga data na maaari mong magbuntis na naka-imbak sa JSON. 84 00:04:45,860 --> 00:04:47,900 Na ginagawang talagang maganda ang wika na gagamitin sa Mga API 85 00:04:47,900 --> 00:04:50,770 dahil ito ay medyo magkano nangangahulugan na ang bagay na hindi kung ano ang data na gusto mong 86 00:04:50,770 --> 00:04:54,270 mayroong pagpunta sa ilang mga paraan upang makakuha ng mga ito pabalik sa JSON. 87 00:04:54,270 --> 00:04:58,600 Ang ilang mga katangian na makagawa ng JSON partikular na mabuti para sa ganitong uri ng bagay. 88 00:04:58,600 --> 00:05:02,270 Tulad ng iyong nakikita, kumpara sa maraming mga bagay na ikaw ay nagtatrabaho sa CS50 89 00:05:02,270 --> 00:05:06,040 medyo mas madaling basahin at mas madali na magsulat. 90 00:05:06,040 --> 00:05:09,700 I-indent mong ito kung gusto mo, tulad ko ay ginagawa sa na halimbawa, 91 00:05:09,700 --> 00:05:12,990 na nagbibigay sa iyo ng gandang, medyo bersyon na maaari mong makita ang talagang. 92 00:05:12,990 --> 00:05:17,150 Ngunit bukod doon, ito ay din madali na basahin at isulat para sa isang computer. 93 00:05:17,150 --> 00:05:19,870 Sa ibang salita, ito ay madali upang i-parse at madaling upang i-encode, 94 00:05:19,870 --> 00:05:23,820 na nangangahulugan na ito ay medyo mabilis bilang malayo ng pagbabasa ang data ay nababahala, 95 00:05:23,820 --> 00:05:26,460 at JSON Maaaring mabuo ang talagang mabilis. 96 00:05:26,460 --> 00:05:30,300 >> Ring mas madali upang ma-access ang iba't ibang bahagi ng JSON at na uri ng bagay. 97 00:05:30,300 --> 00:05:33,320 Na ang magaling, at tangi sa roon, ang katunayan na ito ay self-katulad, 98 00:05:33,320 --> 00:05:36,090 sa ibang salita, ang katunayan na maaari kang magkaroon ng JSON loob JSON loob JSON 99 00:05:36,090 --> 00:05:40,040 talaga magaling para sa pag-iimbak ng data. 100 00:05:40,040 --> 00:05:45,490 JQuery ang isa pang bahagi na ay talagang kapaki-pakinabang sa pakikipagtulungan sa Mga API. 101 00:05:45,490 --> 00:05:49,290 Natutunan ng kaunti ng JavaScript, na kung saan ay isang magaling na paraan 102 00:05:49,290 --> 00:05:53,710 upang manipulahin ang HTML at CSS sa loob ng isang website. 103 00:05:53,710 --> 00:05:57,190 Ngunit maaari itong uri ng isang sakit sa code sa simpleng JavaScript, 104 00:05:57,190 --> 00:05:59,810 higit sa lahat dahil JavaScript ay talagang wika maligoy. 105 00:05:59,810 --> 00:06:03,020 Mayroon kang matuto ng maraming ng syntax, at lamang gawin ang mga napaka-simpleng bagay 106 00:06:03,020 --> 00:06:07,590 ito ay tumatagal ng maraming ng code, kaya jQuery ay isang library para sa JavaScript. 107 00:06:07,590 --> 00:06:09,800 Sa ibang salita, ito ay isang JavaScript na file na maaari mong i-load 108 00:06:09,800 --> 00:06:12,730 at pagkatapos ay gamitin ang jQuery function na gawin ang ilang mga bagay. 109 00:06:12,730 --> 00:06:15,670 At jQuery talaga gumagawa ng iyong buhay mas madali ang isang buong maraming. 110 00:06:15,670 --> 00:06:20,390 Pinapasimple kung ano ang tumagal ng daan-daang mga linya sa JavaScript down sa isang ilang mga linya sa jQuery. 111 00:06:20,390 --> 00:06:24,430 >> Ito ay partikular na kapaki-pakinabang kung gumagamit ka ng mga API dahil sa pangkalahatan 112 00:06:24,430 --> 00:06:27,600 kung paano makikita mo na-access ng mga API ay sa pamamagitan ng paggawa ng mga kahilingan AJAX, 113 00:06:27,600 --> 00:06:30,130 at naniniwala akong David ay nabanggit sa panayam na ang AJAX kahilingan 114 00:06:30,130 --> 00:06:33,120 sa pangkalahatan ay kapag nagsasagawa ka ng isang kahilingan ng network sa ilang uri ng server 115 00:06:33,120 --> 00:06:37,760 at pagbalik ng ilang mga uri ng data at nag-a-update ng isang pahina agad. 116 00:06:37,760 --> 00:06:41,840 Sapagkat sa simpleng JavaScript na tumagal ng mabaliw bilang ng mga linya 117 00:06:41,840 --> 00:06:44,620 upang mapatunayan ang lahat ng mga header ng at gawin ang lahat na uri ng mga bagay-bagay, 118 00:06:44,620 --> 00:06:46,810 jQuery ay talagang simple function na tinatawag na AJAX, 119 00:06:46,810 --> 00:06:51,760 at lahat ng mong gawin sa AJAX ay bigyan ang mga parameter na gusto mong bigyan ang API, 120 00:06:51,760 --> 00:06:56,830 ang lokasyon ng API at anumang karagdagang mga uri ng mga pagpipilian na gusto mong i-configure. 121 00:06:56,830 --> 00:07:02,480 Talaga, talagang maganda at lubhang kapaki-pakinabang para sa ganitong uri ng bagay. 122 00:07:02,480 --> 00:07:06,970 Iyon lang ang kailangan namin upang magsimulang makakuha ng aming mga kamay marumi sa Mga API. 123 00:07:06,970 --> 00:07:10,220 >> Ako pagpunta sa magdala ng ilang mga halimbawa at galugarin ang kanilang mga iba't ibang mga katangian ng 124 00:07:10,220 --> 00:07:13,150 at bakit ang mga ito ay kapaki-pakinabang para sa mga iba't ibang mga uri ng mga bagay. 125 00:07:13,150 --> 00:07:15,570 Ang unang bagay na makikita ko aktwal na ipakita sa iyo ang isang bagay na ako nagtatrabaho sa 126 00:07:15,570 --> 00:07:18,310 sa aking research lab, na Viewer isang Ngram, 127 00:07:18,310 --> 00:07:23,270 at talaga ang ideya ng isang Ngram Viewer ay maaari kang maghanap para sa ilang mga uri ng salita 128 00:07:23,270 --> 00:07:28,840 o parirala at makita kung gaano kadalas ito ay lumitaw sa isang tiyak na hanay ng mga teksto sa paglipas ng panahon. 129 00:07:28,840 --> 00:07:33,160 Halimbawang ito dito ay ang data na ito na hanay ng mga sanggol 130 00:07:33,160 --> 00:07:36,480 na ipinanganak sa New York sa pagitan ng 1920 at 2000. 131 00:07:36,480 --> 00:07:40,090 Maaari naming maghanap, halimbawa, para sa pangalang Jennifer, 132 00:07:40,090 --> 00:07:44,400 at nakikita namin na pre-1960 talagang hindi ginagamit ang lahat na magkano, 133 00:07:44,400 --> 00:07:48,900 at pagkatapos makuha namin sa mamaya taon na ito ay nagiging ginagamit higit pa at mas. 134 00:07:48,900 --> 00:07:53,680 Maaari din namin gawin ng mga paghahambing, kaya kung namin ihambing Jennifer sa, halimbawa, Thomas, 135 00:07:53,680 --> 00:07:56,520 maaari naming makita ang Thomas ay medyo kalat sa buong kasaysayan, 136 00:07:56,520 --> 00:07:58,780 samantalang ang Jennifer ay isang mas bagong pangalan. 137 00:07:58,780 --> 00:08:00,590 Maaari naming gawin na uri ng bagay. 138 00:08:00,590 --> 00:08:02,460 >> Paano gumagana ang application na ito sa trabaho? 139 00:08:02,460 --> 00:08:06,030 Talaga, ito ay gumagana sa pamamagitan ng isang API. 140 00:08:06,030 --> 00:08:08,660 Sa ibang salita, mayroon kaming ilang mga parameter dito. 141 00:08:08,660 --> 00:08:11,360 Namin ang mga parameter ng kung ano ang aktwal na kami ay naghahanap para sa, 142 00:08:11,360 --> 00:08:13,720 na ang mga pangalan na ito, at pagkatapos ay mayroon kaming ilang iba pang mga pag-aari, 143 00:08:13,720 --> 00:08:16,570 tulad ng Y axis at ang X axis. 144 00:08:16,570 --> 00:08:18,440 Maaari mong makita ang mayroon kami ng ilang iba't ibang mga pagpipilian bilang malayo bilang ang 145 00:08:18,440 --> 00:08:20,860 resolution ng oras upang gamitin at na uri ng bagay. 146 00:08:20,860 --> 00:08:26,700 Mayroon kaming mga pagpipiliang ito tulad ng kung anong data ang gusto namin aktwal mula sa database, 147 00:08:26,700 --> 00:08:29,400 at gusto naming upang makuha ang data na iyon pabalik sa ilang mga kapaki-pakinabang na paraan. 148 00:08:29,400 --> 00:08:34,020 Karaniwan, kung tayo ay querying sa database direkta ito ay magdudulot ng uri-uriin ng ng sakit na gawin 149 00:08:34,020 --> 00:08:38,970 dahil baka ito data tungkol sa mga pangalan ng sanggol nakatira sa ilang database sa isang lugar, 150 00:08:38,970 --> 00:08:42,789 at gusto talaga ito kumplikado sa query ito nang manu-mano 151 00:08:42,789 --> 00:08:45,830 at magpasya kung ano mismo ang data upang bumalik. 152 00:08:45,830 --> 00:08:49,300 Sa ibang salita, lamang namin pakialam tungkol Jennifer at Thomas sa kasong ito, 153 00:08:49,300 --> 00:08:53,410 at lamang namin pakialam tungkol sa isang tiyak na axis at ang lahat na uri ng mga bagay-bagay. 154 00:08:53,410 --> 00:08:55,720 >> Paano kami makakuha sa paligid ito? 155 00:08:55,720 --> 00:09:01,200 Upang kumuha sa lupa sa API na ito ng kaunti pa kukunin ko na ipakita sa iyo ang isa pang halimbawa ng platform na ito 156 00:09:01,200 --> 00:09:04,490 na gumagamit ng isang bahagyang iba't ibang mga hanay ng data. 157 00:09:04,490 --> 00:09:09,950 Set ang data na ito, sa halip ng pagiging sanggol pangalan, ay talagang lamang ang buong 158 00:09:09,950 --> 00:09:12,460 i-print publication database ng Open Library, 159 00:09:12,460 --> 00:09:18,410 na isang higanteng pinagmulan ng mga teksto na nai-publish sa buong huling 100 o kaya taon. 160 00:09:18,410 --> 00:09:23,540 Ang ideya ay mayroon kaming ang compository ito ng mga milyon-milyong at milyon-milyong mga teksto, 161 00:09:23,540 --> 00:09:27,420 kung saan maaari naming ngayong maghanap para sa iba't ibang salita at parirala. 162 00:09:27,420 --> 00:09:30,840 Narito ang isang halimbawa na nag-iiba-iba ng isang maliit na naiiba mula sa nakaraang halimbawa 163 00:09:30,840 --> 00:09:33,350 Ako ay nagpakita sa iyo, na namin ang 3 mga query sa paghahanap, 164 00:09:33,350 --> 00:09:36,290 digmaan, digmaan, at ang Pranses salita para sa digmaan, na guerre. 165 00:09:36,290 --> 00:09:40,380 At kami ay naghahanap sa loob ng 3 iba't ibang mga seksyon ng kabuuang database. 166 00:09:40,380 --> 00:09:45,080 Sa ibang salita, sa unang query lamang kami ay naghahanap sa USA, 167 00:09:45,080 --> 00:09:51,150 sa ikalawang isa lamang sa UK, at ang ikatlong lamang mula sa mga gawa na inilathala sa France. 168 00:09:51,150 --> 00:09:53,120 Nakakakita kami ng ilang mga kawili-wiling mga pattern lumitaw. 169 00:09:53,120 --> 00:09:58,180 Halimbawa, tingnan namin sa kanan banda rito kung saan- 170 00:09:58,180 --> 00:10:02,410 oops, messed ko ang axis ng kaunti, ngunit maaari mong makita sa hanay na ito dito 171 00:10:02,410 --> 00:10:05,730 sa paligid ng Digmaang Sibil may malaking spike sa American edisyon 172 00:10:05,730 --> 00:10:08,340 ngunit hindi tulad ng isang malaking spike sa iba pang mga dalawang, at na kung malinaw naman dahil 173 00:10:08,340 --> 00:10:10,880 Amerikano Civil War nangyayari sa puntong iyon. 174 00:10:10,880 --> 00:10:13,890 >> Maaari naming makita ang ilang mga cool na bagay doon, 175 00:10:13,890 --> 00:10:17,070 ngunit kung ano ang namin talagang pakialam tungkol sa kung paano namin nakuha ang data na ito. 176 00:10:17,070 --> 00:10:21,320 Kukunin ko sa likod ng mga eksena sa app na ito sa ilang sandali. 177 00:10:21,320 --> 00:10:24,540 Isang kapong baka nanlilinlang ay kung nagtatrabaho ka sa site at uri ng gusto mong malaman 178 00:10:24,540 --> 00:10:27,430 kung anong nangyayari sa likod ng mga eksena, maaari mong buksan up ng mga tool ng developer. 179 00:10:27,430 --> 00:10:30,200 Pupunta ako sa paggamit ng mga tool ng developer ng Chrome, at upang makakuha ng sa mga 180 00:10:30,200 --> 00:10:35,160 maaari mong gawin kontrol, shift, J, at na dadalhin ka sa console ng JavaScript. 181 00:10:35,160 --> 00:10:37,420 Mayroong ilang mga tab dito. 182 00:10:37,420 --> 00:10:39,680 Ang lahat ng mga ito medyo kapaki-pakinabang sa ilalim ng iba't ibang pangyayari, ngunit na ako tungkol sa mga network 183 00:10:39,680 --> 00:10:44,150 tab ngayon, at aktwal na ako ay may upang i-refresh upang makakuha ng na pagtatrabaho. 184 00:10:44,150 --> 00:10:50,180 Oh, paumanhin. 185 00:10:50,180 --> 00:10:52,320 Gusto upang magbigay ng isang random na halimbawa. 186 00:10:52,320 --> 00:10:54,700 Okay, gagamitin namin ang halimbawang ito sa halip pagkatapos. 187 00:10:54,700 --> 00:11:01,330 >> Ang ideya ay may API na ito dito, 188 00:11:01,330 --> 00:11:05,330 at maaari mong makita kung ano mismo ang API ay bumabalik. 189 00:11:05,330 --> 00:11:10,220 Ito ang application pagbalik mula sa API na pag-ipinadala na kahilingan. 190 00:11:10,220 --> 00:11:13,680 Hayaan akong mag-zoom sa ilang sandali, 191 00:11:13,680 --> 00:11:18,340 at maaari namin talaga makita ito ay isang serye ng key na mga pares ng halaga sa JSON. 192 00:11:18,340 --> 00:11:23,220 Sa ibang salita, mayroon kaming ito hashmap dito na pagma-map halaga. 193 00:11:23,220 --> 00:11:26,440 Sa ibang salita, ito ay pagma-map ng mga taon sa halaga. 194 00:11:26,440 --> 00:11:32,600 Sa 1765 anumang salita namin simula hinanap ay ginagamit ng 90 beses 195 00:11:32,600 --> 00:11:35,810 ng 1 milyon, kaya kami ay pagbalik sa resultang ito. 196 00:11:35,810 --> 00:11:40,280 Hindi eksakto JSON dahil mayroon namin ito kaunti header ng resulta dito, 197 00:11:40,280 --> 00:11:45,630 ngunit paunawa na ito buong bagay dito ay isang mahusay na patak ng malaking JSON. 198 00:11:45,630 --> 00:11:51,070 Mayroon kaming isang array dito na naglalaman ng buong elemento na ito, 199 00:11:51,070 --> 00:11:55,590 at maaari mong makita na ang buong elemento nagtatapos doon, at pagkatapos kami ay may isa pang malaking elemento 200 00:11:55,590 --> 00:11:59,430 na napupunta ang lahat ng mga paraan down sa dulo, at na nagtatapos dito. 201 00:11:59,430 --> 00:12:02,200 Mayroon kaming isang talagang malaking array na may 2 mga bagay sa loob nito, 202 00:12:02,200 --> 00:12:04,630 at sa bawat isa ng mga bagay ay ng hashmap. 203 00:12:04,630 --> 00:12:07,340 Maaari mong makita sa loob ng bawat ng mga hashmaps mayroon kami ng pagma-map 204 00:12:07,340 --> 00:12:12,700 ng index na ito ng halaga sa 0 at halaga ang halagang ito sa ibang hashmap, 205 00:12:12,700 --> 00:12:18,360 na muli ay pagma-map ang mga halaga ng X axis sa Y axis halaga. 206 00:12:18,360 --> 00:12:20,970 >> Maaari mong makita ang JSON nakakakuha ng kaunti kumplikado, ngunit pangkalahatang, 207 00:12:20,970 --> 00:12:24,190 ang aktwal na napaka kapaki-pakinabang, at ito ay mas madali upang ma-access ang kumpara sa 208 00:12:24,190 --> 00:12:27,390 iba pang mga iba't-ibang paraan ng pagtatanda. 209 00:12:27,390 --> 00:12:30,550 Bilang malayo bilang kung ano ang aktwal na kami ay pagpapadala ng data sa API upang makakuha ng, 210 00:12:30,550 --> 00:12:34,690 Ako pagpunta sa pumunta sa likod ng pagtatapos ng kaunti dito. 211 00:12:34,690 --> 00:12:39,850 Ito ang malaking file ng JavaScript na paghawak ng lahat ng mga pakikipag-ugnayan ng web app, 212 00:12:39,850 --> 00:12:44,810 at kaya hindi namin pakialam tungkol sa karamihan ng mga ito, ngunit gawin namin ang pag-aalaga tungkol sa ilan sa mga ito. 213 00:12:44,810 --> 00:12:47,410 Halimbawa, pinapahalagahan namin tungkol sa katangian ng buildQuery, 214 00:12:47,410 --> 00:12:50,670 at ang ideya ng function na ito ay isa lamang ito ay naghahanap sa buong pahina, 215 00:12:50,670 --> 00:12:53,750 ang pag-uunawa kung ano ang user gustong sa query, sa ibang salita, 216 00:12:53,750 --> 00:12:57,090 -suri nang mga kahon kung saan na sila input ang kanilang mga terminong ginamit sa paghahanap, 217 00:12:57,090 --> 00:13:01,380 ng pagsuri sa ibang Y at X axis halaga na iyong pinili at ang lahat na uri ng bagay, 218 00:13:01,380 --> 00:13:06,650 at sabihin ang lahat sa query na ito na halaga, na maaari kong pagkatapos ay ipadala sa API. 219 00:13:06,650 --> 00:13:09,180 >> Ito mukha itong kumplikado, at ito ay medyo kumplikado 220 00:13:09,180 --> 00:13:18,090 ngunit kung ano ang ako pagpunta gawin sa katunayan, na ako na gawin ito, na mahusay na- 221 00:13:18,090 --> 00:13:21,640 na ako pagpunta upang makakuha ng console upang i-print ang eksakto na query halaga 222 00:13:21,640 --> 00:13:28,110 na ito sa pagpapadala ng off sa API. 223 00:13:28,110 --> 00:13:30,870 Na ang aktwal na dito mismo. Paumanhin, ang output ng maraming bagay. 224 00:13:30,870 --> 00:13:33,690 Ngunit ito ay kung ano ang pinapahalagahan namin tungkol sa, sa bagay na ito dito mismo. 225 00:13:33,690 --> 00:13:35,300 Ito ang query na bagay. 226 00:13:35,300 --> 00:13:40,670 Sa ibang salita, ito ay eksakto kung ano ang web application sa pagpapadala ng sa API, 227 00:13:40,670 --> 00:13:45,730 at kaya tingnan natin sa loob ng ilang sandali, at nakikita namin mayroon kaming ilang mga halaga dito. 228 00:13:45,730 --> 00:13:48,710 Nakikita namin na mayroon kaming bilang ng uri na ito, na ang mga pangyayari sa bawat milyong mga salita, 229 00:13:48,710 --> 00:13:51,460 na eksakto kung ano ang pinili namin sa ang Y axis sa paglipas dito. 230 00:13:51,460 --> 00:13:53,740 Kung saan na nagmumula. 231 00:13:53,740 --> 00:13:58,010 Mayroon kaming isang database halaga, na nangangahulugan na ang ilang ilang database 232 00:13:58,010 --> 00:14:01,610 na ang data na ito ay nakatira sa, at gusto naming i-access ang data na iyon partikular 233 00:14:01,610 --> 00:14:04,950 kumpara sa mga pangalan mga data ng sanggol, halimbawa. 234 00:14:04,950 --> 00:14:08,320 Pagkatapos namin ito group halaga, 235 00:14:08,320 --> 00:14:12,090 na nagsasabi na gusto naming upang maghanap sa pamamagitan ng taon kumpara sa 236 00:14:12,090 --> 00:14:16,030 anumang iba pang mga halaga ng X axis. 237 00:14:16,030 --> 00:14:19,040 Pagkatapos kami ay may isang pamamaraan, kung saan ang ilang mga API ay gawin ang maramihang mga bagay. 238 00:14:19,040 --> 00:14:22,360 Sa ibang salita, ang API na ito ay maaari ring ibalik ang iba pang mga uri ng data, 239 00:14:22,360 --> 00:14:27,740 ngunit sa kasong ito, nais namin na pagma-map ng mga halaga ng X axis sa Y axis halaga. 240 00:14:27,740 --> 00:14:30,730 Na kung ano ang na nagsasabi sa ito upang gawin doon, 241 00:14:30,730 --> 00:14:35,020 at mayroon kaming ang paghahanap na ito array limitasyon, na naglalaman ng 2 halaga. 242 00:14:35,020 --> 00:14:40,720 Ang unang isa ay kung ano ang nakikita namin dito, na ang lahat ng mga halaga 243 00:14:40,720 --> 00:14:43,020 nilalaman sa loob ng unang maliit na kahon sa tuktok. 244 00:14:43,020 --> 00:14:47,570 >> Sa ibang salita, nais naming upang tumingin para sa labanan ng salita, at gusto naming upang i-filter ito 245 00:14:47,570 --> 00:14:51,920 ng Ingles na teksto sa loob Amerikano panitikan. 246 00:14:51,920 --> 00:14:54,590 Mayroon kaming bansang ito, na USA. 247 00:14:54,590 --> 00:14:59,130 Mayroon kaming isang wika, na Ingles, kaya't mayroon kaming ang lahat ng mga iba't ibang bahagi 248 00:14:59,130 --> 00:15:02,690 na ang lahat na nagsasabi sa ang API kung ano mismo ang gusto naming. 249 00:15:02,690 --> 00:15:04,940 Hindi namin alam kung ano ang data na makuha namin pabalik pa, 250 00:15:04,940 --> 00:15:10,970 ngunit alam namin ang data na iyon ay pagpunta sa isang tiyak na form. 251 00:15:10,970 --> 00:15:13,650 Halimbawa Ito ay uri ng sa kumplikadong bahagi, 252 00:15:13,650 --> 00:15:16,180 at hindi kinakailangan mo ay gamit ang isang API complex na ito, 253 00:15:16,180 --> 00:15:20,600 ngunit ito ay upang ipakita sa iyo ang saklaw at kapangyarihan ng kung ano ang API. 254 00:15:20,600 --> 00:15:24,980 Sa ibang salita, gamit ang isang may simpleng sistema ng query namin talaga ay isang input box 255 00:15:24,980 --> 00:15:29,490 na may ilang iba pang tagapili sa iba't-ibang mga lugar. 256 00:15:29,490 --> 00:15:32,010 >> Ipaalam sa akin mag-zoom bumalik dito. 257 00:15:32,010 --> 00:15:37,720 Mayroon kaming isang input box na may ilang iba't ibang mga seleksyon ng metadata, 258 00:15:37,720 --> 00:15:40,610 at mayroon kaming Y axis at X axis seleksyon. 259 00:15:40,610 --> 00:15:42,830 Hindi namin aktwal na maraming mga patlang, 260 00:15:42,830 --> 00:15:46,210 at maaari naming makita ang napaka madaling namin para sa mga tanong ng ilang uri ng API 261 00:15:46,210 --> 00:15:48,510 at makakuha ng mga data sa likod at pagkatapos ay ilagay ito sa ang tsart na ito, 262 00:15:48,510 --> 00:15:52,080 na kung saan ay pagkatapos ay upang ipakita ang mga ito sa isang kapaki-pakinabang na paraan. 263 00:15:52,080 --> 00:15:54,970 Upang tingnan ang isa pang halimbawa na maaaring maging isang bit mas pamilyar sa iyo guys 264 00:15:54,970 --> 00:15:56,510 kami ay pagpunta upang i-sa Facebook. 265 00:15:56,510 --> 00:15:59,440 Facebook ng API ay tinatawag na Facebook Graph, 266 00:15:59,440 --> 00:16:04,390 at talaga kung ano ang nangangahulugan iyon ay nakikita mismo ng Facebook bilang napakalaking database na ito 267 00:16:04,390 --> 00:16:08,000 ng maraming ng iba't ibang mga bahagi na ang lahat ay mayroon ilang mga relasyon sa bawat isa. 268 00:16:08,000 --> 00:16:11,070 Sa ibang salita, ako ng isang user sa Facebook, kaya Mayroon akong isang profile, 269 00:16:11,070 --> 00:16:14,310 at ako ay mayroon ding ilang mga kaibigan, at ang bawat isa sa kanila ay may isang profile, 270 00:16:14,310 --> 00:16:17,580 at ang bawat isa sa aking mga kaibigan ay may pader, na may iba't ibang mga komento dito, 271 00:16:17,580 --> 00:16:20,800 at sa bawat isa ng mga komento ay may gusto at lahat na uri ng bagay. 272 00:16:20,800 --> 00:16:23,100 >> Mayroong maraming ng mga iba't-ibang bahagi sa Facebook. 273 00:16:23,100 --> 00:16:26,670 Ito ay isang hugely kumplikadong API, at may ton na maaari mong gawin sa mga ito, 274 00:16:26,670 --> 00:16:28,450 ngunit ito ay aktwal na medyo simple upang gamitin. 275 00:16:28,450 --> 00:16:33,680 Ako pagpunta upang simulan sa pamamagitan ng pagpunta sa graph.facebook.com / billyjanitsch, 276 00:16:33,680 --> 00:16:38,430 na ang aking natatanging pangalan ng account, at ang pangalan ng iyong account ay alinman ay 277 00:16:38,430 --> 00:16:43,710 ilang uri ng salita kung iyong pinili ito, o maaaring ito ay isang string ng mga numero. 278 00:16:43,710 --> 00:16:46,360 Ano makuha namin pabalik ay medyo pangunahing impormasyon. 279 00:16:46,360 --> 00:16:50,460 Nakikita namin na mayroon akong isang unang pangalan, na Billy, isang huling pangalan, na Janitsch. 280 00:16:50,460 --> 00:16:53,370 May isang natatanging ID Facebook kung saan mayroon akong. 281 00:16:53,370 --> 00:16:57,920 Maaari mong makita na ako lalaki at na mayroon akong setting ng aking wika 282 00:16:57,920 --> 00:17:01,290 sa British na Ingles. 283 00:17:01,290 --> 00:17:03,490 Sa ibang salita, nakikita namin napaka pangunahing impormasyon dito. 284 00:17:03,490 --> 00:17:08,670 Ito ay hindi masyadong maraming, ngunit ito ay bigyan kami ng isang ideya ng kung ano ang doon. 285 00:17:08,670 --> 00:17:10,849 >> Maaari naming gawin ang parehong bagay sa David Malan, halimbawa. 286 00:17:10,849 --> 00:17:13,599 Tingin ko ang kanyang pangalan ay dmalan. 287 00:17:13,599 --> 00:17:16,369 Nakikita namin David Malan ay isang natatanging ID. 288 00:17:16,369 --> 00:17:19,300 Siya ay may pangalan, unang pangalan, gitnang pangalan, apelyido. 289 00:17:19,300 --> 00:17:24,210 Din namin makita na niya ang lalaki at may kanyang hanay ng wika sa US Ingles. 290 00:17:24,210 --> 00:17:26,869 Sa ibang salita, nakikita namin medyo pangunahing impormasyon dito. 291 00:17:26,869 --> 00:17:28,860 Ngayon, kung ano ang mangyayari kung susubukan namin upang tingnan ang iba pa? 292 00:17:28,860 --> 00:17:33,060 Sabihin nating ako interesado sa kung ano ang David Malan ay gumusto sa Facebook. 293 00:17:33,060 --> 00:17:36,860 Ang maaari kong gawin / gusto. Ngayon kami ay tumatakbo sa isang problema. 294 00:17:36,860 --> 00:17:39,280 Mayroon kaming ilang mga uri ng error na sabi ng access token 295 00:17:39,280 --> 00:17:41,660 ay kinakailangan upang humiling sa mapagkukunan na ito. 296 00:17:41,660 --> 00:17:44,730 Ngunit kung sa tingin mo tungkol dito, na aktwal na saysay dahil ito ay kakaiba 297 00:17:44,730 --> 00:17:47,830 kung maaari mong ma-access ang bawat solong bahagi ng database ng Facebook 298 00:17:47,830 --> 00:17:50,170 mula sa ilang uri ng mga simpleng API, i-right? 299 00:17:50,170 --> 00:17:56,040 Sa ibang salita, baka iyong impormasyon ay hindi maaaring ma-access ng sinuman na nagnanais nito. 300 00:17:56,040 --> 00:17:58,330 >> Ang error na ito ay tiyak kung ano ang nangangahulugan iyon. 301 00:17:58,330 --> 00:18:03,630 Mangailangan ng ilang mga API Ang ilang mga pahintulot upang ma-access ang kanilang data. 302 00:18:03,630 --> 00:18:06,940 At mas advanced na mga API, tulad ng Facebook isa, 303 00:18:06,940 --> 00:18:09,840 ay mangangailangan ng ilang mga pahintulot na gawin ang ilang mga bagay. 304 00:18:09,840 --> 00:18:12,650 Maaari ko bang makita ang mga pangunahing impormasyon tungkol sa David Malan. 305 00:18:12,650 --> 00:18:15,950 Ang maaari kong makita na siya lalaki at na siya nakatira sa US, 306 00:18:15,950 --> 00:18:19,270 ngunit hindi talaga ko makita ang anumang nakaraan na. 307 00:18:19,270 --> 00:18:23,050 Upang makakuha ng sa paligid na ito sa ngayon, Facebook ay magaling tool na ito 308 00:18:23,050 --> 00:18:27,690 na graph API explorer, at ang ideya na iyon ay maaari mong pag-uri-uriin ng 309 00:18:27,690 --> 00:18:31,880 gumawa ng up ng mga pahintulot para sa iyong sarili batay sa iyong sariling account 310 00:18:31,880 --> 00:18:35,680 at pagkatapos ay tingnan ang mga bagay na tiyak na ang iyong account ay maaaring tingnan. 311 00:18:35,680 --> 00:18:45,120 Halimbawa, kung gagawin ko graph.facebook.com/billyjanitsch/likes- 312 00:18:45,120 --> 00:18:53,510 Whoops, hulaan ko na mayroon akong upang muling patunayan ang aking token dito. 313 00:18:53,510 --> 00:18:55,950 Okay. 314 00:18:55,950 --> 00:19:01,740 Kung gagawin ko na muli, mahusay, ngayon ko makita na nakukuha ko sa bagay na ito 315 00:19:01,740 --> 00:19:06,300 na sinasabi na gusto ko noodles pool, na sa Laro at Laruan ng kategorya. 316 00:19:06,300 --> 00:19:08,620 Gusto ko ng mga walrus, na kung saan ay sa Hayop kategorya. 317 00:19:08,620 --> 00:19:10,180 Ang mga ito ay ang aking aktwal na paggusto sa Facebook. 318 00:19:10,180 --> 00:19:13,280 Hindi sila uri ng nakakahiya. 319 00:19:13,280 --> 00:19:16,090 >> Ngunit maaari naming makita ang data na ito ay ibinalik sa JSON. 320 00:19:16,090 --> 00:19:18,160 Medyo nababasa. 321 00:19:18,160 --> 00:19:20,970 Sa ibang salita, mayroon kaming ito sa pagmamapa ng mga data sa ilang mga uri ng isang array, 322 00:19:20,970 --> 00:19:25,220 at ang bawat elemento ng array na ito ay isang hashmap kung saan Maps 323 00:19:25,220 --> 00:19:28,530 ang pangalan ng isang tulad at ang kategorya ng isang tulad. 324 00:19:28,530 --> 00:19:31,240 Bawat tulad ay isang natatanging ID. 325 00:19:31,240 --> 00:19:34,510 Mayroong ang lahat ng mga uri ng iba't ibang mga bagay ng data na maaari naming makakuha ng, 326 00:19:34,510 --> 00:19:37,980 at kung interesado ka sa gamit ang Facebook API para sa CS50 panghuling proyekto 327 00:19:37,980 --> 00:19:40,720 o para sa anumang bagay tulad na ito ay aktwal na medyo maaaring gawin. 328 00:19:40,720 --> 00:19:44,260 Talaga kung paano makakakuha ka sa palibot ng bagay na pagpapatotoo ay Facebook 329 00:19:44,260 --> 00:19:48,030 gumagamit ng isang sistema na tinatawag na OAuth, o Buksan ang pagpapatotoo, 330 00:19:48,030 --> 00:19:52,870 at hindi ko nais upang makakuha ng ito ngayon dahil OAuth o ibang uri 331 00:19:52,870 --> 00:19:56,060 ng pagpapatotoo may kaugaliang-iba-ibahin ng maraming pagitan ng iba't ibang mga API, 332 00:19:56,060 --> 00:19:58,320 sa gayon ay maaari kong gastusin ng isang mahabang oras ng pagpunta sa bawat isa, 333 00:19:58,320 --> 00:20:01,170 ngunit hindi sila aktwal na medyo maliwanag. 334 00:20:01,170 --> 00:20:04,050 >> Kung ikaw Google Facebook API napaka nababasa. 335 00:20:04,050 --> 00:20:06,670 Mayroong ang isang buong spec. 336 00:20:06,670 --> 00:20:10,210 Halimbawa, ito ang papeles para sa Facebook API, 337 00:20:10,210 --> 00:20:14,170 at maaari mong makita ako sa pahina ng User, sa gayon ay maaari kong malaman ang lahat tungkol sa iba't ibang mga uri ng mga bagay 338 00:20:14,170 --> 00:20:17,170 na magagamit upang makakuha ng kasing layo ng data 339 00:20:17,170 --> 00:20:21,550 at din ang iba't ibang pahintulot na kailangan ko upang ma-access ang mga ito. 340 00:20:21,550 --> 00:20:25,470 Tulad ng nakita namin, hindi namin kailangang pahintulot upang ma-access ang pangalan o ang kasarian, 341 00:20:25,470 --> 00:20:29,380 ngunit lampas na namin kailangan ang pahintulot para sa karamihan ng mga bagay. 342 00:20:29,380 --> 00:20:33,040 Ang pahinang ito, o sa halip, ang website na ito ay magkakaroon din sabihin sa iyo kung paano makakuha ng 343 00:20:33,040 --> 00:20:35,640 isang token upang patotohanan ang iyong sarili. 344 00:20:35,640 --> 00:20:39,290 Karamihan sa mga authentication system gamitin ang ilang mga uri ng token 345 00:20:39,290 --> 00:20:42,880 kung saan makakakuha ka ng ito natatanging halaga, na kung saan ay isang talagang mahaba at random na string, 346 00:20:42,880 --> 00:20:46,240 at ang paraan na maaari nilang iugnay ang mga kahilingan na iyong ginagawa sa iyo. 347 00:20:46,240 --> 00:20:50,560 Sa ibang salita, alam nila na hindi mo ginagawa ang anumang kahina-hinalang sa kanilang data. 348 00:20:50,560 --> 00:20:53,340 Alam nila kung ano mismo ang nakakakuha ka ng. 349 00:20:53,340 --> 00:20:56,180 Din nila alam na mayroon kang pahintulot upang tingnan ang impormasyon na iyon. 350 00:20:56,180 --> 00:20:59,110 >> Kung nakagawa ka na ng Facebook app at ang iyong app ay may ilang mga gumagamit, 351 00:20:59,110 --> 00:21:03,380 at pinayagan ang mga gumagamit na iyon na app upang ma-access ang ilang mga bahagi ng kanilang profile, 352 00:21:03,380 --> 00:21:07,790 pagkatapos anumang API key o token na gumagamit ang app na 353 00:21:07,790 --> 00:21:11,090 upang ma-access ang data para sa mga gumagamit na iyon. 354 00:21:11,090 --> 00:21:13,780 Ito ay maaaring tunog kumplikado, ngunit ito ay hindi masyadong masamang, 355 00:21:13,780 --> 00:21:16,810 at kung nais mong gamitin ang Facebook ko lubos na inirerekomenda na ikaw 356 00:21:16,810 --> 00:21:18,990 isaalang-alang ang nagpe-play sa paligid sa kanilang mga API. 357 00:21:18,990 --> 00:21:21,610 Ito ay sobrang ayos, at maaari mong gawin ng maraming ng iba't ibang mga bagay na may ito. 358 00:21:21,610 --> 00:21:24,880 Kung ang gumagamit ay nagbibigay sa iyo ng mga pahintulot maaari mong kahit na bumalik sa API 359 00:21:24,880 --> 00:21:28,820 at sabihin gusto ko upang aktwal na mag-post sa wall ng user na ito, o gusto ko silang mag-post ng isang larawan, 360 00:21:28,820 --> 00:21:32,390 at na ang dahilan kung bakit sa iyong feed ng balita, makikita mo minsan makakuha ng mga nakakainis na mga bagay 361 00:21:32,390 --> 00:21:37,840 sinasabi ang iyong kaibigan ay napanood ang video na ito sa ilang mga uri ng kakaiba site o isang bagay tulad na. 362 00:21:37,840 --> 00:21:43,120 Iyon ay dahil ang app na ay nabigyan ng access upang mag-post sa pader na tao. 363 00:21:43,120 --> 00:21:48,350 Ang ideya pangkalahatang, ang Facebook API ay medyo kumplikado ngunit din talagang kapaki-pakinabang. 364 00:21:48,350 --> 00:21:53,220 Talagang sulit check out kung naghahanap ka pa rin ng para sa isang pangwakas na proyekto. 365 00:21:53,220 --> 00:21:57,930 >> Isa pang suite ng mga API na ako pagpunta sa pumunta sa paglipas ng CS50 mga API. 366 00:21:57,930 --> 00:22:00,070 Hayaan akong mag-zoom in dito. 367 00:22:00,070 --> 00:22:03,390 CS50 ay aktwal na magkasama ang isang buong serye ng Mga API 368 00:22:03,390 --> 00:22:07,080 na maaari mong gamitin para sa isang pangwakas na proyekto o para sa anumang bagay na nagsasagawa ka ng. 369 00:22:07,080 --> 00:22:12,830 At sila karamihan Harvard kaugnay na, at sila ay nag-iiba mula sa menu ng HUDS, 370 00:22:12,830 --> 00:22:17,780 halimbawa, sa Harvard Kaganapan API, na kung saan ay magbibigay-daan sa iyo na ma-access ang isang listahan ng mga 371 00:22:17,780 --> 00:22:21,290 iba't ibang mga kaganapan na nangyayari sa Harvard at na uri ng bagay. 372 00:22:21,290 --> 00:22:24,510 At sa gayon maaari naming i-click sa anumang isa sa mga ito at makakuha ng spec para dito, 373 00:22:24,510 --> 00:22:28,090 na makikita mo magagawang upang mahanap para sa anumang API, at ideya ay 374 00:22:28,090 --> 00:22:33,920 ito ay nagbibigay-daan sa alam mo, A, partikular kung ano upang humiling mula sa API at kung paano upang humiling ito. 375 00:22:33,920 --> 00:22:37,370 Sa madaling salita, kung gusto ko ang lahat ng mga kaganapan na nangyayari bukas 376 00:22:37,370 --> 00:22:42,550 pagkatapos Mayroon akong upang malinaw naman ay bigyan ang mga ito na petsa na gusto ko sa isang tiyak na format, 377 00:22:42,550 --> 00:22:46,030 at B, ito ay sabihin sa akin kung ano mismo ang ito upang bigyan pabalik sa akin. 378 00:22:46,030 --> 00:22:48,590 Ito ay sabihin ako pagpunta sa ibalik mo ang JSON object, 379 00:22:48,590 --> 00:22:50,960 o tulad ng maaari mong makita, mayroong iba't ibang mga format. 380 00:22:50,960 --> 00:22:54,050 >> Maaari mo ring ibalik ang data bilang isang CSV, halimbawa. 381 00:22:54,050 --> 00:22:57,620 Ngunit alam mo kung paano ang data na upang tumingin kapag ikaw ay makakuha ng ito pabalik 382 00:22:57,620 --> 00:23:00,610 sa gayon ay maaari mong asahan na gawin ang ilang mga bagay na may ito. 383 00:23:00,610 --> 00:23:07,240 Maaari kaming mag-scroll down at makita, halimbawa, kung gusto namin sa query sa API 384 00:23:07,240 --> 00:23:11,500 upang makakuha ng isang kalendaryo, pagkatapos na maaari naming gamitin sa partikular na URL na ito 385 00:23:11,500 --> 00:23:16,480 at bigyan ito ng ilang mga parameter na na ang data na gusto namin ang eksaktong. 386 00:23:16,480 --> 00:23:19,540 At gayon din naman, kung gusto namin ang data pabalik sa isang tiyak na format, 387 00:23:19,540 --> 00:23:23,790 maaari naming hilingin ito sa output ang mga data sa isang CSV, 388 00:23:23,790 --> 00:23:27,700 at ang isa pang parameter na namin ang pagpasa sa API. 389 00:23:27,700 --> 00:23:29,210 Maraming mga cool na bagay na gawin doon. 390 00:23:29,210 --> 00:23:32,550 Gusto ko talagang inirerekumenda ang pag-check CS50 mga API. 391 00:23:32,550 --> 00:23:36,000 >> Pupunta ako upang tingnan ito Harvard Pagkain API sa partikular na para sa ilang sandali. 392 00:23:36,000 --> 00:23:39,870 Isang bagay na aktwal ko na dinisenyo ito Harvard Noms website, 393 00:23:39,870 --> 00:23:44,930 na gumagamit ng CS50 Pagkain API upang makuha ang HUDS menu para sa araw. 394 00:23:44,930 --> 00:23:50,400 At para sa mga tao sa paaralan ng extension, HUDS dining serbisyo sa Harvard. 395 00:23:50,400 --> 00:23:55,130 Ano makakakuha ka ng pahinang ito na naglalaman ng lahat ng pagkain para sa araw, kaya nakikita namin ng tanghalian. 396 00:23:55,130 --> 00:23:58,130 Mayroon kami ng ilang iba't ibang kategorya. Mayroon kaming bean at buong grain station. 397 00:23:58,130 --> 00:24:00,340 Mayroon kaming ang brown rice station. 398 00:24:00,340 --> 00:24:03,360 Maaari naming makita para sa brunch na kami ay may mga ilang mga item ng pagkain. 399 00:24:03,360 --> 00:24:07,030 Kung namin i-click sa mga ito, pagkatapos namin makuha ang impormasyon sa nutrisyon. 400 00:24:07,030 --> 00:24:12,240 Nakikita mo ito ay ang nutrisyon ng impormasyon para sa mga suha, kung sakaling ikaw ay nagtataka. 401 00:24:12,240 --> 00:24:14,870 At kaya muli, kami ay pagpunta sa peer sa likod ng pagtatapos dito nang kaunti 402 00:24:14,870 --> 00:24:18,530 at makita kung ano ang eksaktong ito ay ginagawa upang makuha ang data na ito. 403 00:24:18,530 --> 00:24:21,710 At lumiliko ito kung hindi talagang napaka kumplikadong sa lahat. 404 00:24:21,710 --> 00:24:28,720 Ang file na ito ay mukhang isang maliit na magulo, ngunit tandaan na ito ay paghawak sa buong website, 405 00:24:28,720 --> 00:24:34,130 at kung mag-scroll ko pababa namin makita ang pagbabagong ito function na data. 406 00:24:34,130 --> 00:24:36,630 >> Ngayon, lamang maging malinaw, ito ay nakasulat sa CoffeeScript, 407 00:24:36,630 --> 00:24:39,570 kung saan ay isang wika na marahil hindi pa nakikita bago. 408 00:24:39,570 --> 00:24:44,810 Ngunit medyo nababasa, kaya makikita ba akong maglakad sa pamamagitan nito na parang ito ay pseudocode. 409 00:24:44,810 --> 00:24:49,080 Baguhin ang petsa ay isang function na sa halaga ng petsa, 410 00:24:49,080 --> 00:24:51,740 at din ito sa una, kung saan hindi namin pakialam tungkol sa bilang magkano. 411 00:24:51,740 --> 00:24:54,110 Ngunit ang mga mahalagang bagay na may petsang ito, 412 00:24:54,110 --> 00:25:00,080 at ang petsa na ang araw na gusto naming humiling ang lahat ng mga item na pagkain para sa. 413 00:25:00,080 --> 00:25:04,030 At pagkatapos mo ang mayroon kami ng kaunting syntax dito, 414 00:25:04,030 --> 00:25:09,000 na isa lamang sa pag-parse na petsa sa isang nababasa format. 415 00:25:09,000 --> 00:25:11,920 Sa ibang salita, ang API ay nangangailangan ng petsa sa isang tiyak na format. 416 00:25:11,920 --> 00:25:17,390 Hindi lamang mo maaaring sabihin ang Nobyembre 16, 2012 AD. 417 00:25:17,390 --> 00:25:20,320 Hindi ito ay kung ano ang gagawin sa na. Nais ng petsa sa isang tiyak na format. 418 00:25:20,320 --> 00:25:23,230 Lahat ng ginagawa namin dito ay nagbibigay sa ito eksaktong format na iyon, 419 00:25:23,230 --> 00:25:26,520 na isang taon na halaga at pagkatapos ng gitling, isang buwan na halaga, 420 00:25:26,520 --> 00:25:29,420 isa pang gitling at ang halaga ng petsa. 421 00:25:29,420 --> 00:25:34,910 At sabihin din namin gusto namin ang data na ang output sa JSON. 422 00:25:34,910 --> 00:25:37,560 >> Ginagawa namin ngayon ang AJAX kahilingan na ito, at tulad ng nabanggit ko mas maaga, 423 00:25:37,560 --> 00:25:41,680 jQuery ay may ito sobrang kapaki-pakinabang AJAX function na kung saan ang lahat ng kailangan mong gawin ay tukuyin 424 00:25:41,680 --> 00:25:45,780 ng ilang mga parameter pababa dito, at ito ay magbibigay sa iyo kung ano mismo ang gusto mong. 425 00:25:45,780 --> 00:25:50,490 Sinasabi Kami ay sa ito na ang URL na gusto naming ito upang pumunta sa ito CS50 API Pagkain, 426 00:25:50,490 --> 00:25:52,270 na aming nakuha mula sa spec. 427 00:25:52,270 --> 00:25:56,730 Sinasabi namin na gusto namin ang mga data sa JSON at na 428 00:25:56,730 --> 00:25:59,490 kami ay pagpunta upang bigyan ito ang data na ito na namin ang tinukoy dito. 429 00:25:59,490 --> 00:26:02,670 Ito ang araw na gusto naming ang mga item ng pagkain para sa. 430 00:26:02,670 --> 00:26:07,790 At pagkatapos ang lahat ng mayroon kaming gawin ay tukuyin ang ilang mga uri ng tagumpay function na, 431 00:26:07,790 --> 00:26:11,980 na talaga kung ano ang mangyayari kapag ang API ay nagbalik na data. 432 00:26:11,980 --> 00:26:15,490 Sa ibang salita, kami package ang lahat ng mga parameter na gusto namin, 433 00:26:15,490 --> 00:26:20,530 na sa kasong ito ay ang araw na gusto naming ito at ang katotohanan na gusto namin ito sa JSON, 434 00:26:20,530 --> 00:26:23,840 at ipinadala namin ito sa API, kaya ngayon API ay sinasabi, okay, 435 00:26:23,840 --> 00:26:26,350 dito ay ang iyong data, Nakatanggap ako ito muli para sa iyo. 436 00:26:26,350 --> 00:26:29,930 Mayroon kaming ang tagumpay function, na nangangahulugan na ibinigay na API 437 00:26:29,930 --> 00:26:32,230 matagumpay na nagbalik ilang data, ano ang gagawin namin gawin ito? 438 00:26:32,230 --> 00:26:35,980 >> At lumiliko ito na ang lahat ng ginagawa namin ay tumawag ito update menu function na 439 00:26:35,980 --> 00:26:42,680 sa anumang API ay sumagot, upang maaari naming maghanap para sa 440 00:26:42,680 --> 00:26:47,970 at makita na ang lahat ng ginagawa namin ay gumagamit ng isang bungkos ng mga bagong syntax dito 441 00:26:47,970 --> 00:26:52,220 upang i-update ang HTML at isingit ang mga bagong data. 442 00:26:52,220 --> 00:26:56,580 Ano magbibigay-daan ito ay mayroon kaming mga arrow na ito sa magkabilang panig, at maaari naming i-click ang, 443 00:26:56,580 --> 00:27:01,060 at ngayon kami ay naghahanap sa data para sa susunod na araw at muli para sa susunod na araw, 444 00:27:01,060 --> 00:27:04,820 at sa bawat oras na ito nag-a-update ng petsang iyon na halaga at querying ang API, 445 00:27:04,820 --> 00:27:07,510 pagbalik ilang mga data at paglalagay ng ito sa site. 446 00:27:07,510 --> 00:27:10,590 Muli, maaari mong makita, sobrang, sobrang kapaki-pakinabang. 447 00:27:10,590 --> 00:27:14,410 Ang app na ito ay kinuha sa akin ng ilang oras Hack sama-sama, 448 00:27:14,410 --> 00:27:20,140 at mayroon akong ng kaunti pang karanasan, malinaw naman, ngunit ang iyong CS50 panghuling proyekto 449 00:27:20,140 --> 00:27:22,870 maaaring magmukhang ng isang bagay na napaka tulad nito. 450 00:27:22,870 --> 00:27:29,540 >> API Super malakas na para sa halaga ng pagsisikap na sila tumagal. 451 00:27:29,540 --> 00:27:32,800 Ang huling bagay na ako pagpunta sa pumunta sa paglipas ng ilang higit pang mga API ang malawak. 452 00:27:32,800 --> 00:27:35,480 Hindi ako makakuha ng pati na malayo sa mga ito tulad ng kung ano ang ginagawa nila partikular, 453 00:27:35,480 --> 00:27:38,740 ngunit makikita ko mabigyan ka ng ideya kung ano ang out doon. 454 00:27:38,740 --> 00:27:42,700 2 talagang kapaki-pakinabang na, kung interesado ka sa pagtatasa ng data o visualization 455 00:27:42,700 --> 00:27:45,960 o anumang bagay tulad na, Freebase at Wikipedia. 456 00:27:45,960 --> 00:27:49,800 Wikipedia-siguro mo lang ang alam ay isang libreng online encyclopedia, 457 00:27:49,800 --> 00:27:53,230 at aktwal ay isang API, kaya kung gusto mong, halimbawa, 458 00:27:53,230 --> 00:27:56,250 makakuha ng lahat ng teksto at ang mga artikulo para sa pugita 459 00:27:56,250 --> 00:27:58,030 mo napaka madaling gawin iyon. 460 00:27:58,030 --> 00:28:02,300 Lamang sabihin hey, Wikipedia API, Gusto ko gusto ang mga data na ibinalik bilang na ito, 461 00:28:02,300 --> 00:28:07,010 at gusto ko ng ito sa format na ito, at ang artikulong Gusto ko ay pugita, 462 00:28:07,010 --> 00:28:09,820 at masyadong mabilis ito magbibigay sa iyo ang impormasyong iyon. 463 00:28:09,820 --> 00:28:12,230 Na maaaring talagang kapaki-pakinabang kung nais mong gumawa ng ilang mga uri ng site 464 00:28:12,230 --> 00:28:16,200 na ang isang mas mahusay na viewer para sa Wikipedia o isang bagay tulad na. 465 00:28:16,200 --> 00:28:21,350 >> Freebase uri ng katulad, kahit na ito ay kaunti mahirap kasing layo ng API. 466 00:28:21,350 --> 00:28:24,390 Freebase ay tulad ng Wikipedia na ito ang isang online encyclopedia 467 00:28:24,390 --> 00:28:29,050 na naglalaman ng maraming at maraming ng iba't ibang mga data tungkol sa lahat ng mga uri ng mga iba't ibang mga paksa, 468 00:28:29,050 --> 00:28:33,150 ngunit ito ay naka-imbak sa isang pamanggit database, na kung saan ay bahagyang naiiba mula sa Wikipedia. 469 00:28:33,150 --> 00:28:36,410 Wikipedia ay may mga artikulo at mga artikulo na naka-link sa ibang mga artikulo, 470 00:28:36,410 --> 00:28:38,860 ngunit para sa pinaka-bahagi, kung gusto mo ang data para sa pugita, 471 00:28:38,860 --> 00:28:41,990 pumunta ka sa artikulo ng pugita, kumuha ng data na iyon, at mayroon kang isang grupo ng teksto 472 00:28:41,990 --> 00:28:43,830 tungkol sa mga octopuses, kaya na mahusay. 473 00:28:43,830 --> 00:28:46,870 Freebase ay gumagana sa isang bahagyang mas kumplikadong paraan sa na 474 00:28:46,870 --> 00:28:48,930 lahat ay nauugnay sa isa't isa. 475 00:28:48,930 --> 00:28:52,620 Sa ibang salita, kung kami ay naghahanap para sa pugita 476 00:28:52,620 --> 00:28:54,940 ito ay may isang bungkos ng mga kategorya na nauugnay dito. 477 00:28:54,940 --> 00:28:57,920 >> Halimbawa, ito ay isang hayop, naninirahan sa ilalim ng dagat, 478 00:28:57,920 --> 00:28:59,710 ito ay may ilang mga temperatura ng katawan. 479 00:28:59,710 --> 00:29:01,210 Hindi ko alam. 480 00:29:01,210 --> 00:29:04,230 At ang lahat ng mga kategoryang ito ang mga link sa iba pang mga lugar kung saan maaari kang pumunta 481 00:29:04,230 --> 00:29:06,640 upang makita ang mga bagay na parehong kategorya. 482 00:29:06,640 --> 00:29:13,450 Sa ibang salita, ang hanay ng data ng pugita ay naglalaman ng isang link sa data na nakatakda para sa lahat ng hayop, 483 00:29:13,450 --> 00:29:16,790 at na nais ipaalam sa akin ilipat sa paligid sa database talagang mabilis. 484 00:29:16,790 --> 00:29:21,740 Ito ay maaaring maging lubhang kapaki-pakinabang kung ikaw ay paggawa ng isang bagay tulad ng paghahambing. 485 00:29:21,740 --> 00:29:24,490 Sa ibang salita, na ibinigay ng ilang mga bagay, nais mong makita ang 486 00:29:24,490 --> 00:29:27,890 ano pa ito na may kaugnayan sa at kung ano pa ang hindi ito na may kaugnayan sa. 487 00:29:27,890 --> 00:29:30,700 Na uri ng bagay. Maaari itong maging kapaki-pakinabang sa isang bilang ng mga paraan. 488 00:29:30,700 --> 00:29:34,250 Kung naghahanap ka para sa higit pa sa isang hamon at upang gumawa ng ilang mga mas kumplikadong mga bagay 489 00:29:34,250 --> 00:29:38,740 Gusto ko isaalang-alang ang pagkuha ng isang hitsura sa Freebase API. 490 00:29:38,740 --> 00:29:44,670 Ngunit higit sa lahat, ang Wikipedia ay isang napaka-simpleng lugar upang pumunta bilang malayo bilang kumukuha ng impormasyon. 491 00:29:44,670 --> 00:29:48,340 Ang isa pang lugar na kailangan kong tumingin sa Last.fm, at aktwal na ako pagpunta sa pumunta sa site 492 00:29:48,340 --> 00:29:53,800 sa kaso ng ilang mga tao ay hindi pamilyar, ngunit Last.fm ay isa lamang ng musika 493 00:29:53,800 --> 00:29:57,220 panlasa at rekomendasyon website. 494 00:29:57,220 --> 00:29:59,000 Maaari kang gumawa ng isang account. 495 00:29:59,000 --> 00:30:04,250 Maaari kang magsimulang mag-upload ng musika mula sa iyong music player 496 00:30:04,250 --> 00:30:08,020 sa website, at isa lamang ito simulan ang nagbibigay sa iyo ng mga rekomendasyon musika 497 00:30:08,020 --> 00:30:10,030 batay sa kung ano ang makinig sa. 498 00:30:10,030 --> 00:30:14,270 >> Halimbawa, kung pumunta ka sa iyong profile na pahina na ito ay minahan- 499 00:30:14,270 --> 00:30:18,180 maaari mong makita na mayroon ka ng isang listahan ng mga kamakailan nakinig sa track. 500 00:30:18,180 --> 00:30:22,550 Maaari mong makita ang mga pangkalahatang mga paboritong artist, lahat na uri ng bagay, 501 00:30:22,550 --> 00:30:25,280 at muli, mayroong isang malaking API likod Last.fm, 502 00:30:25,280 --> 00:30:29,360  at maaari mo itong gamitin upang gawin ang mga maraming at maraming talagang cool na bagay. 503 00:30:29,360 --> 00:30:38,870 Halimbawa, kailangan kong pumunta sa page ng isang kaibigan na may Last.fm Tools website na ito. 504 00:30:38,870 --> 00:30:42,380 Ito ay talagang isa pang platform na binuo sa Last.fm API, 505 00:30:42,380 --> 00:30:45,420 at ang isang bilang ng medyo kawili-wiling bagay. 506 00:30:45,420 --> 00:30:50,260 Kung log in ako sa aking user name, halimbawa, 507 00:30:50,260 --> 00:30:53,110 Maaari kong hilingin ang mga ito upang bumuo ng isang ulap ng tag, halimbawa, 508 00:30:53,110 --> 00:30:56,480 at kung ano na gawin ninyo akong bigyan ng isang imahe ng 509 00:30:56,480 --> 00:30:59,850 lahat ng iba't ibang genre at na uri ng bagay na gusto kong makinig sa. 510 00:30:59,850 --> 00:31:01,410 Paano ito ginagawa ito? 511 00:31:01,410 --> 00:31:05,670 Napakaluwag talaga ito sinasabi sa Last.fm API dito sa user na ito. 512 00:31:05,670 --> 00:31:10,710 Gusto kong malaman ang genre ng bawat kanta na kailanman sila na nakinig sa, 513 00:31:10,710 --> 00:31:15,130 at maaari mong gawin na sa pamamagitan ng paggawa ng isang medyo simpleng AJAX tawag sa API sa Last.fm. 514 00:31:15,130 --> 00:31:18,990 Makakakuha ka ng isang malaking listahan, at pagkatapos ay malinaw naman ang ilang mga iba pang mga bagay-bagay ay tapos na 515 00:31:18,990 --> 00:31:22,280 upang i-on ito sa isang ulap ng salita, ngunit maaari mong makita ang kabuuang 516 00:31:22,280 --> 00:31:25,850 ito ay mas madali upang ma-access at napakadaling gamitin. 517 00:31:25,850 --> 00:31:30,750 Talagang magaling para sa isang bilang ng mga bagay. 518 00:31:30,750 --> 00:31:35,940 >> Tingin ko na ang tungkol sa lahat Sasabihin kong pangkalahatang. 519 00:31:35,940 --> 00:31:39,040 Isang huling bagay makikita ko banggitin tungkol sa Mga API sa pangkalahatan ay na 520 00:31:39,040 --> 00:31:41,840 makakakita ka minsan tumakbo sa isang bagay na tinatawag rate nililimitahan, 521 00:31:41,840 --> 00:31:44,940 at ang mga ideya ng rate nililimitahan ay hindi mo nais na abusuhin Mga API. 522 00:31:44,940 --> 00:31:48,130 Sa ibang salita, talagang magaling na ng maraming ng mga website na ito ay may Mga API 523 00:31:48,130 --> 00:31:51,070 na maaari kang pumunta sa at gamitin nang libre. 524 00:31:51,070 --> 00:31:54,460 Gayunpaman, kung nagsasagawa ka ng milyun-milyong o bilyun-bilyong ng mga kahilingan sa bawat araw, 525 00:31:54,460 --> 00:31:57,610 halimbawa, kung ikaw ay natigil sa isang walang-katapusang loop na walang hanggan querying 526 00:31:57,610 --> 00:32:00,680 ilang uri ng API at pagkuha muli ng isang malaking halaga ng data, 527 00:32:00,680 --> 00:32:04,570 malinaw naman na hindi maganda, kaya kung ano ang ng maraming ng Mga API gawin na rate ito nililimitahan tampok 528 00:32:04,570 --> 00:32:09,970 na nagsasabing maaari ka lamang gumawa ng mga 1,000 mga kahilingan sa bawat araw sa bawat IP address o isang bagay tulad na. 529 00:32:09,970 --> 00:32:12,540 At kung ikaw ay gumagawa ng maraming pagsubok at na uri ng bagay, 530 00:32:12,540 --> 00:32:14,890 minsan patakbuhin sa na, at biglang ito ay shut-off mo ang 531 00:32:14,890 --> 00:32:18,280 at sabihing hindi, hindi ako nagbibigay sa iyo ng anumang higit pang data. 532 00:32:18,280 --> 00:32:20,000 >> Ano ang gusto mong gawin ay i-play ng mga panuntunan sa. 533 00:32:20,000 --> 00:32:22,950 Nais mong tiyakin na basahin mo ang API spec maingat. 534 00:32:22,950 --> 00:32:26,330 Kung ito ay may ilang mga panuntunan na naka-attach dito, tulad mo ay maaari lamang gumawa ng X na mga query sa bawat araw 535 00:32:26,330 --> 00:32:30,000 o maaari ka lamang ma-access ang isang bahagi ng database sa isang tiyak na bilang ng mga beses 536 00:32:30,000 --> 00:32:32,900 o isang bagay na tulad ng na nais mong upang tiyakin na magkabit ka sa na. 537 00:32:32,900 --> 00:32:38,360 Hangga't i-play sa loob ng mga panuntunan malamang talagang maganda ang oras gamit ang Mga API. 538 00:32:38,360 --> 00:32:42,030 Iyong pangkalahatang takeaway ay Mga API ay talagang, talagang kapaki-pakinabang. 539 00:32:42,030 --> 00:32:45,610 >> Mayroong isang API para sa halos anumang malaking serbisyo ng web out doon. 540 00:32:45,610 --> 00:32:50,700 Pretty magkano ang anumang bahagi ng Google Tools Suite, Google Maps, Google Earth, 541 00:32:50,700 --> 00:32:54,390 GMail, Google Calendar, ang lahat ng mga bagay ay may API. 542 00:32:54,390 --> 00:32:58,280 Maaari mong gamitin ang mga ito sa parehong get na data mula sa server at magpadala ng data sa server. 543 00:32:58,280 --> 00:33:00,870 Sa ibang salita, kung nais mong gumawa ng isang kalendaryo app na maaaring i-update 544 00:33:00,870 --> 00:33:04,190 Google Calendar ng isang tao, may isang API para sa. 545 00:33:04,190 --> 00:33:07,810 Kung nais mong gumawa ng isang bagay na pagpunta sa sabihin sa iyo kung saan 546 00:33:07,810 --> 00:33:12,530 ang lokasyon ng isang tiyak na address ay maaari mong gamitin ang Google Maps API para sa. 547 00:33:12,530 --> 00:33:15,860 Mga API fantastically kapaki-pakinabang, at ang mga ito sa lahat ng dako. 548 00:33:15,860 --> 00:33:18,700 Kung ikaw ay interesado sa ilang mga uri ng ideya, 549 00:33:18,700 --> 00:33:22,170 may marahil isang kaugnay na API na maaari mong gamitin upang makakuha ng maraming data 550 00:33:22,170 --> 00:33:25,060 masyadong mabilis at napaka-simpleng. 551 00:33:25,060 --> 00:33:28,140 >> Kung naghahanap ka pa rin ng para sa isang proyekto o kung gusto mo lamang upang i-play sa paligid 552 00:33:28,140 --> 00:33:31,820 may isang bagay sa pangkalahatan, Mga API ay tiyak na nagkakahalaga ng paggawa. 553 00:33:31,820 --> 00:33:37,200 Salamat, at ako masaya upang sagutin ang anumang mga katanungan na iyong guys ay maaaring magkaroon. 554 00:33:37,200 --> 00:33:44,900 Okay, salamat ng maraming. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]