1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [Seminar] [Cyflwyniad Rhaglennydd i APIs] 2 00:00:02,480 --> 00:00:04,059 [Billy Janitsch] [Harvard University] [Tommy MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [Mae hyn yn CS50.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> Hi, mae gan bawb, rwy'n Billy, a heddiw yr wyf i'n mynd i fod yn siarad am APIs, 5 00:00:12,100 --> 00:00:15,220 neu rhyngwynebau rhaglennu cais, 6 00:00:15,220 --> 00:00:20,040 yn benodol yng nghyd-destun CS50 prosiectau terfynol a bod y math yna o beth. 7 00:00:20,040 --> 00:00:22,490 Yn gyffredinol beth yw API? 8 00:00:22,490 --> 00:00:25,530 Yn fras iawn, mae'n fath o ddyn canol sy'n caniatáu i 2 ddarn 9 00:00:25,530 --> 00:00:28,610 o feddalwedd i gyfathrebu â'i gilydd. 10 00:00:28,610 --> 00:00:32,530 Dyna fath o ddiffiniad eang iawn ac nid yw'n bod berthnasol am yr hyn rydym yn edrych ar. 11 00:00:32,530 --> 00:00:35,450 Yr hyn yr ydym wir eisiau rhyw fath o tir canol defnyddiol 12 00:00:35,450 --> 00:00:40,570 i gyfathrebu gyda rhyw fath o gronfa ddata yn rhywle. 13 00:00:40,570 --> 00:00:43,310 >> Dyma siart, ac yn y bôn y syniad yw y 14 00:00:43,310 --> 00:00:46,790 rydym yn gais, ac rydym am gael data o gronfa ddata, 15 00:00:46,790 --> 00:00:49,570 ond nid ydym am i ymholi am y gronfa ddata yn uniongyrchol. 16 00:00:49,570 --> 00:00:52,710 Yn hytrach, rydym eisiau mynd trwy'r math hwn o ddyn canol, mae'r API. 17 00:00:52,710 --> 00:00:55,440 Y syniad y tu ôl i hynny yw rhifau 2 a 3 ar y siart 18 00:00:55,440 --> 00:00:57,750 ill dau yn mynd i fod yn gymhleth iawn ac yn anniben. 19 00:00:57,750 --> 00:00:59,960 Mewn geiriau eraill, pan fydd y API yn ymholi'r gronfa ddata, 20 00:00:59,960 --> 00:01:03,300 mae'n debyg yn mynd i gael ei ddefnyddio tablau SQL a'r holl math o bethau, 21 00:01:03,300 --> 00:01:05,489 ac rydym wedi dysgu ychydig am y peth yn CS50, ond yn gyffredinol, 22 00:01:05,489 --> 00:01:07,590 ydych chi wedi sylwi ei fod yn dipyn o boen. 23 00:01:07,590 --> 00:01:10,590 Mae'n mynd yn iawn, iawn gymhleth ac yn anniben, yn enwedig pan fyddwch chi'n gwneud 24 00:01:10,590 --> 00:01:12,530 ymholiadau cymhleth a'r math yna o beth. 25 00:01:12,530 --> 00:01:15,960 >> Yr hyn yr ydym wir eisiau rhyw fath o ffordd ddefnyddiol a syml 26 00:01:15,960 --> 00:01:19,780 i gael y data, a dyna y syniad y tu ôl i rifau 1 a 4 ar y siart. 27 00:01:19,780 --> 00:01:23,600 Mewn geiriau eraill, rydym am ffordd syml iawn i ddweud wrth y API beth i'w gael i ni 28 00:01:23,600 --> 00:01:27,760 ac yn ffordd syml iawn i gael y data yn ôl. 29 00:01:27,760 --> 00:01:33,020 Mae un brif ffordd bod y data yn cael ei anfon fel arfer a derbyn, 30 00:01:33,020 --> 00:01:36,490 sy'n JSON, neu Nodiant Gwrthrych JavaScript. 31 00:01:36,490 --> 00:01:40,370 Gall hynny amrywio ychydig cyn belled ag sut yr ydych yn anfon y cais at y API. 32 00:01:40,370 --> 00:01:43,210 Mewn geiriau eraill, os ydych am gael rhywfaint o swm penodol o ddata, 33 00:01:43,210 --> 00:01:46,670 sut yr ydych yn dweud wrth y API i gael y gall data amrywio ychydig. 34 00:01:46,670 --> 00:01:49,210 Fel arfer mae'n golygu gwneud rhyw fath o gais rhwydwaith. 35 00:01:49,210 --> 00:01:53,130 Mewn geiriau eraill, cael mynediad at rhyw fath o URL sy'n mynd i ddweud wrth y API 36 00:01:53,130 --> 00:01:56,190 yn union beth rydych ei eisiau, ond mae'r data yn cael ei bron bob amser yn anfon yn ôl, 37 00:01:56,190 --> 00:01:59,530 mewn geiriau eraill, rhif 4 yn JSON. 38 00:01:59,530 --> 00:02:01,030 >> Beth yw JSON yn union? 39 00:02:01,030 --> 00:02:03,030 Fel y dywedais, Nodiant Gwrthrych JavaScript. 40 00:02:03,030 --> 00:02:07,090 Mae'n bôn y safon cyffredinol ar gyfer trosglwyddo a derbyn data. 41 00:02:07,090 --> 00:02:11,410 Y syniad yw bod gennych y 3 chategori o bethau. 42 00:02:11,410 --> 00:02:13,540 Mae gennych arrays, hashmaps, a primitives. 43 00:02:13,540 --> 00:02:16,580 Araeau a hashmaps ydych wedi edrych ar ychydig yn CS50, 44 00:02:16,580 --> 00:02:19,870 ond eich bod wedi gotten fath o ymdeimlad llym iawn o'r hyn y maent yn. 45 00:02:19,870 --> 00:02:22,780 Mewn geiriau eraill, gyda rhesi eich bod yn gwybod eu bod yn teipio rhwymo, 46 00:02:22,780 --> 00:02:26,560 felly dim ond un math o fath sy'n mynd ar draws yr amrywiaeth gyfan. 47 00:02:26,560 --> 00:02:29,310 JSON yn llawer mwy llym gyda'r math yna o beth. 48 00:02:29,310 --> 00:02:33,590 Yn y bôn y syniad yw i chi adeiladu'r gwrthrych, 49 00:02:33,590 --> 00:02:36,270 y gellir eu cynnwys unrhyw un o'r 3 pheth 50 00:02:36,270 --> 00:02:39,470 a gellir cynnwys rhai lluosog ohonynt, a gellir eu nythu. 51 00:02:39,470 --> 00:02:42,110 >> Dyma fath o enghraifft o JSON, 52 00:02:42,110 --> 00:02:47,910 sydd yn y bracedi cyrliog yma cynrychioli eich hashmap, 53 00:02:47,910 --> 00:02:51,400 a hashmap yn y bôn yn mapio rhyw fath o allwedd 54 00:02:51,400 --> 00:02:53,340 i ryw fath o werth. 55 00:02:53,340 --> 00:02:56,440 Byddwch yn gweld yma bod gennym y prif eiddo, 56 00:02:56,440 --> 00:02:59,600 ac mae hynny'n mapio ar arae, sef y peth i gyd. 57 00:02:59,600 --> 00:03:04,120 Rydym yn gweld elfen arall o'r hashmap, sef y isAwesome allweddol, 58 00:03:04,120 --> 00:03:07,370 pa fapiau i werth cyntefig o wir, mewn geiriau eraill, gwerth Boole. 59 00:03:07,370 --> 00:03:09,420 Gall fod yn primitives llinynnau. Gallant fod yn gyfanrifau. 60 00:03:09,420 --> 00:03:11,960 Gallant fod yn bools, unrhyw beth fel 'na. 61 00:03:11,960 --> 00:03:18,410 A ydych yn gweld cynnwys y casgliad bod pwyntiau eiddo i wedi 2 llinynnau ynddo, 62 00:03:18,410 --> 00:03:20,050 hunan-debyg ac yn wych. 63 00:03:20,050 --> 00:03:27,410 Mae'r rheini'n 2 eiddo o JSON, ac rydym yn gweld bod JSON yn awesome. 64 00:03:27,410 --> 00:03:30,060 I edrych ar fod ychydig yn fanylach yr wyf i'n mynd i adeiladu 65 00:03:30,060 --> 00:03:32,870 i enghraifft mwy cymhleth o JSON yma. 66 00:03:32,870 --> 00:03:37,000 >> Gadewch i ni ddechrau gydag amrywiaeth, er enghraifft, dim ond amrywiaeth wag. 67 00:03:37,000 --> 00:03:39,180 Ond mae hynny'n fath o ddiflas, felly rydym yn mynd i'w lenwi i fyny ychydig, 68 00:03:39,180 --> 00:03:43,420 ac fel y dywedais, araeau yn JSON yn teipio rhwymo, 69 00:03:43,420 --> 00:03:46,400 er mwyn i ni hefyd gael llinyn yma, sydd yn hi, 70 00:03:46,400 --> 00:03:49,330 ac mae hynny'n elfen arall o'r casgliad. 71 00:03:49,330 --> 00:03:53,450 Ac yn yr un modd, gallem ychwanegu hashmapping yma, sydd yn mynd i gael ychydig o mapiadau. 72 00:03:53,450 --> 00:04:00,470 Mae'n mynd i gael mapio o'r enw at y Billy llinyn. 73 00:04:00,470 --> 00:04:04,590 Mae gennym mapio o'r enw Billy, ac mae gennym mapio 74 00:04:04,590 --> 00:04:10,860 hoff liw i las. 75 00:04:10,860 --> 00:04:12,700 Dyna y bôn yn enghraifft dda o JSON. 76 00:04:12,700 --> 00:04:18,160 Mae'n fath o yn mynd i mewn-Wps, mae angen coma yno-yr holl rannau gwahanol ohoni. 77 00:04:18,160 --> 00:04:21,140 Unwaith eto, nid yw'n rhwymo teipio o gwbl, fel y gallwch gael unrhyw fath o fathau 78 00:04:21,140 --> 00:04:24,710 y tu mewn i unrhyw beth rydych eisiau, a'r syniad yw ei fod yn hunan-debyg. 79 00:04:24,710 --> 00:04:28,830 Mewn geiriau eraill, mae'r hawl hon dyma yw gwrthrych JSON, fel y mae'r holl beth, 80 00:04:28,830 --> 00:04:33,200 fel y mae dim ond hyn, er mwyn i chi gael cyntefig fod yn wrthrych, 81 00:04:33,200 --> 00:04:35,680 arae fod yn wrthrych neu hashmap fod yn wrthrych. 82 00:04:35,680 --> 00:04:40,270 >> Ag y gallwch math o weld, JSON yn wirioneddol ddefnyddiol gan ei fod mor hyblyg. 83 00:04:40,270 --> 00:04:45,860 Gallwch gael unrhyw ddata posib y gallwch chi beichiogi storio mewn JSON. 84 00:04:45,860 --> 00:04:47,900 Mae hynny'n ei gwneud hi'n iaith braf i'w defnyddio gyda APIs 85 00:04:47,900 --> 00:04:50,770 oherwydd ei fod yn 'n bert lawer yn golygu nad oes unrhyw waeth pa ddata yr ydych eisiau 86 00:04:50,770 --> 00:04:54,270 mae mynd i fod yn rhyw ffordd i'w gael yn ôl yn JSON. 87 00:04:54,270 --> 00:04:58,600 Mae ychydig eiddo sy'n gwneud JSON arbennig o dda ar gyfer y math hwn o beth. 88 00:04:58,600 --> 00:05:02,270 Fel y gallwch weld, o gymharu â llawer o bethau yr ydych wedi bod yn gweithio â hwy yn CS50 89 00:05:02,270 --> 00:05:06,040 mae'n gymharol hawdd iawn i ddarllen a hefyd yn hawdd iawn i ysgrifennu. 90 00:05:06,040 --> 00:05:09,700 Gallwch indent allan os ydych yn dymuno, fel yr oeddwn yn ei wneud yn yr enghraifft honno, 91 00:05:09,700 --> 00:05:12,990 sy'n rhoi i chi 'n glws, fersiwn' n bert y gallwch eu gweld yn dda iawn. 92 00:05:12,990 --> 00:05:17,150 Ond ar ben hynny, mae hefyd yn hawdd i'w darllen ac ysgrifennu ar gyfer cyfrifiadur. 93 00:05:17,150 --> 00:05:19,870 Mewn geiriau eraill, mae'n hawdd i gramadegu ac yn hawdd i'w amgodio, 94 00:05:19,870 --> 00:05:23,820 sy'n golygu ei bod yn eithaf cyflym cyn belled â darllen y data yn y cwestiwn, 95 00:05:23,820 --> 00:05:26,460 a gellir JSON yn cael ei gynhyrchu yn gyflym iawn. 96 00:05:26,460 --> 00:05:30,300 >> Mae hefyd yn hawdd iawn i gael mynediad i rannau gwahanol o JSON a'r math yna o beth. 97 00:05:30,300 --> 00:05:33,320 Dyna braf, ac ymhellach, y ffaith ei fod yn hunan-debyg, 98 00:05:33,320 --> 00:05:36,090 mewn geiriau eraill, y ffaith y gallwch gael JSON o fewn JSON mewn JSON 99 00:05:36,090 --> 00:05:40,040 yn neis iawn ar gyfer storio data. 100 00:05:40,040 --> 00:05:45,490 Rhan arall sydd yn gyffredinol yn ddefnyddiol iawn wrth weithio gyda APIs yn jQuery. 101 00:05:45,490 --> 00:05:49,290 Rydych chi wedi dysgu ychydig o JavaScript, sydd yn ffordd braf 102 00:05:49,290 --> 00:05:53,710 i drin HTML a CSS mewn gwefan. 103 00:05:53,710 --> 00:05:57,190 Ond gall fod yn fath o boen i cod yn JavaScript blaen, 104 00:05:57,190 --> 00:05:59,810 yn bennaf oherwydd JavaScript yn iaith verbose mewn gwirionedd. 105 00:05:59,810 --> 00:06:03,020 Mae'n rhaid i chi ddysgu llawer o gystrawen, a dim ond i wneud pethau'n syml iawn 106 00:06:03,020 --> 00:06:07,590 mae'n cymryd llawer o cod, felly jQuery yn llyfrgell JavaScript. 107 00:06:07,590 --> 00:06:09,800 Mewn geiriau eraill, mae'n ffeil JavaScript y gallwch lwytho 108 00:06:09,800 --> 00:06:12,730 ac yna defnyddio swyddogaethau jQuery i wneud pethau penodol. 109 00:06:12,730 --> 00:06:15,670 Ac jQuery yn y bôn yn gwneud eich bywyd yn llawer iawn haws. 110 00:06:15,670 --> 00:06:20,390 Mae'n symleiddio'r hyn a fyddai'n cymryd cannoedd o linellau yn JavaScript i lawr i ychydig linellau yn jQuery. 111 00:06:20,390 --> 00:06:24,430 >> Mae'n arbennig o ddefnyddiol os ydych yn defnyddio APIs oherwydd yn gyffredinol 112 00:06:24,430 --> 00:06:27,600 sut y byddwch yn cael mynediad APIs yw drwy wneud ceisiadau AJAX, 113 00:06:27,600 --> 00:06:30,130 a chredaf David wedi crybwyll mewn darlith bod ceisiadau AJAX 114 00:06:30,130 --> 00:06:33,120 yn gyffredinol pan fyddwch chi'n gwneud cais rhwydwaith i ryw fath o gweinydd 115 00:06:33,120 --> 00:06:37,760 ac yn mynd yn ôl rhyw fath o ddata a diweddaru tudalen ar unwaith. 116 00:06:37,760 --> 00:06:41,840 Tra yn JavaScript blaen a fyddai'n cymryd nifer crazy o linellau 117 00:06:41,840 --> 00:06:44,620 i ddilysu pob un o'r penawdau a gwneud hynny i gyd math o bethau, 118 00:06:44,620 --> 00:06:46,810 jQuery Mae gan swyddogaeth yn syml iawn o'r enw AJAX, 119 00:06:46,810 --> 00:06:51,760 ac mae pob rhaid i chi wneud yn AJAX yw rhoi paramedrau eich bod yn awyddus i roi y API, 120 00:06:51,760 --> 00:06:56,830 lleoliad y API ac unrhyw fath ychwanegol o opsiynau yr ydych am ei ffurfweddu. 121 00:06:56,830 --> 00:07:02,480 Mae'n iawn, iawn 'n glws a defnyddiol iawn ar gyfer y math hwn o beth. 122 00:07:02,480 --> 00:07:06,970 Dyna'r cyfan mae angen i ni ddechrau cael ein dwylo budr yn APIs. 123 00:07:06,970 --> 00:07:10,220 >> Dw i'n mynd i ddod i fyny ychydig o enghreifftiau ac archwilio eu priodweddau gwahanol 124 00:07:10,220 --> 00:07:13,150 a pham eu bod yn ddefnyddiol ar gyfer gwahanol fathau o bethau. 125 00:07:13,150 --> 00:07:15,570 Y peth cyntaf y byddwch Fi 'n weithredol yn dangos i chi rhywbeth yr wyf i'n gweithio ar 126 00:07:15,570 --> 00:07:18,310 yn fy labordy ymchwil, sy'n Viewer Ngram, 127 00:07:18,310 --> 00:07:23,270 ac yn y bôn y syniad o Gwyliwr Ngram yn gallwch chwilio am ryw fath o air 128 00:07:23,270 --> 00:07:28,840 neu ymadrodd a gweld pa mor aml mae'n ymddangos mewn set penodol o destun dros gyfnod o amser. 129 00:07:28,840 --> 00:07:33,160 Mae'r enghraifft yma yn y set ddata o fabanod 130 00:07:33,160 --> 00:07:36,480 a gafodd eu geni yn Efrog Newydd rhwng 1920 a 2000. 131 00:07:36,480 --> 00:07:40,090 Gallwn chwilio, er enghraifft, ar gyfer y Jennifer enw, 132 00:07:40,090 --> 00:07:44,400 ac rydym yn gweld bod cyn-1960au mae'n wir nad ei ddefnyddio i gyd bod llawer, 133 00:07:44,400 --> 00:07:48,900 ac yna wrth i ni fynd i flynyddoedd diweddarach mae'n dod yn defnyddio mwy a mwy. 134 00:07:48,900 --> 00:07:53,680 Gallwn hefyd wneud cymariaethau, felly os ydym yn cymharu Jennifer, er enghraifft, Thomas, 135 00:07:53,680 --> 00:07:56,520 gallwn weld Thomas wedi bod yn eithaf amlwg drwy gydol hanes, 136 00:07:56,520 --> 00:07:58,780 tra Jennifer yn enw mwy diweddar. 137 00:07:58,780 --> 00:08:00,590 Gallwn wneud y math yna o beth. 138 00:08:00,590 --> 00:08:02,460 >> Sut mae hyn yn gweithio cais? 139 00:08:02,460 --> 00:08:06,030 Yn y bôn, mae'n gweithio trwy API. 140 00:08:06,030 --> 00:08:08,660 Mewn geiriau eraill, mae gennym rhai paramedrau yma. 141 00:08:08,660 --> 00:08:11,360 Mae gennym y paramedrau hyn yr ydym yn mewn gwirionedd yn chwilio am, 142 00:08:11,360 --> 00:08:13,720 sydd yn yr enwau hyn, ac yna mae gennym ychydig o eiddo eraill, 143 00:08:13,720 --> 00:08:16,570 fel yr echelin Y a'r echelin X. 144 00:08:16,570 --> 00:08:18,440 Gallwch weld gennym ychydig o ddewisiadau gwahanol cyn belled ag y 145 00:08:18,440 --> 00:08:20,860 datrys amser i ddefnyddio a bod y math yna o beth. 146 00:08:20,860 --> 00:08:26,700 Mae gennym yr opsiynau hyn cyn belled ag pa ddata yr ydym mewn gwirionedd am ei gael o'r gronfa ddata, 147 00:08:26,700 --> 00:08:29,400 ac rydym yn awyddus i gael y data yn ôl mewn rhyw ffordd ddefnyddiol. 148 00:08:29,400 --> 00:08:34,020 Fel arfer, pe baem yn ymholi'r gronfa ddata yn uniongyrchol y byddai'n datrys o fod yn boen i wneud 149 00:08:34,020 --> 00:08:38,970 oherwydd yn ôl pob tebyg y data hwn am enwau baban yn byw mewn rhyw gronfa ddata yn rhywle, 150 00:08:38,970 --> 00:08:42,789 a byddai'n cael ei gymhleth iawn i gael i holi gyda llaw 151 00:08:42,789 --> 00:08:45,830 ac yn penderfynu beth yn union y data i ddychwelyd. 152 00:08:45,830 --> 00:08:49,300 Mewn geiriau eraill, dim ond gofalu am Jennifer a Thomas yn yr achos hwn, 153 00:08:49,300 --> 00:08:53,410 a dim ond gofalu am ar echel penodol a hynny i gyd math o bethau. 154 00:08:53,410 --> 00:08:55,720 >> Sut ydym yn mynd o gwmpas hyn? 155 00:08:55,720 --> 00:09:01,200 I gloddio i mewn i'r API ychydig yn fwy 'n annhymerus' yn dangos i chi enghraifft arall o hyn llwyfan 156 00:09:01,200 --> 00:09:04,490 sy'n defnyddio set ddata ychydig yn wahanol. 157 00:09:04,490 --> 00:09:09,950 Mae'r set data, yn hytrach na bod enwau babi, mewn gwirionedd dim ond y cyfan 158 00:09:09,950 --> 00:09:12,460 argraffu cronfa ddata cyhoeddi Library Open, 159 00:09:12,460 --> 00:09:18,410 sydd yn ffynhonnell enfawr o destunau a gyhoeddwyd drwy gydol y 100 neu lai mlynedd diwethaf. 160 00:09:18,410 --> 00:09:23,540 Y syniad yw gennym y compository o filiynau a filiynau o destun, 161 00:09:23,540 --> 00:09:27,420 y gallwn nawr chwilio am eiriau gwahanol ac ymadroddion ynddo 162 00:09:27,420 --> 00:09:30,840 Dyma enghraifft sy'n amrywio ychydig yn wahanol i'r enghraifft flaenorol 163 00:09:30,840 --> 00:09:33,350 Wyf yn dangos i chi, sy'n yw ein bod wedi y 3 ymholiadau chwilio, 164 00:09:33,350 --> 00:09:36,290 rhyfel, rhyfel, a'r gair Ffrangeg ar gyfer rhyfel, sy'n Guerre. 165 00:09:36,290 --> 00:09:40,380 Ac rydym yn chwilio o fewn 3 gwahanol adrannau o'r gronfa ddata gyfan. 166 00:09:40,380 --> 00:09:45,080 Mewn geiriau eraill, yn yr ymholiad cyntaf i ni yn unig chwilio yn yr Unol Daleithiau, 167 00:09:45,080 --> 00:09:51,150 yn yr ail un yn unig yn y DU, a'r trydydd yn unig o weithiau a gyhoeddwyd yn Ffrainc. 168 00:09:51,150 --> 00:09:53,120 Rydym yn gweld rhai patrymau diddorol yn ymddangos. 169 00:09:53,120 --> 00:09:58,180 Er enghraifft, rydym yn gweld dde o amgylch yma sydd- 170 00:09:58,180 --> 00:10:02,410 Wps, yr wyf cyboledig i fyny 'r echelin ychydig bach, ond gallwch weld yn syth yn yr ystod yma 171 00:10:02,410 --> 00:10:05,730 o amgylch y Rhyfel Cartref mae 'na spike mawr yn y rhifyn Americanaidd 172 00:10:05,730 --> 00:10:08,340 ond nid mor spike mawr yn y ddau arall, a dyna amlwg fod 173 00:10:08,340 --> 00:10:10,880 Rhyfel Cartref America oedd yn digwydd ar y pwynt hwnnw. 174 00:10:10,880 --> 00:10:13,890 >> Gallwn weld rhai pethau oer yno, 175 00:10:13,890 --> 00:10:17,070 ond yr hyn yr ydym wir yn poeni amdano yw sut rydym yn cael data hwn. 176 00:10:17,070 --> 00:10:21,320 'N annhymerus' yn mynd â chi tu ôl i'r llenni yn y app mewn ychydig bach. 177 00:10:21,320 --> 00:10:24,540 Mae tric daclus yw os ydych yn gweithio gyda'r safle a math o eisiau gwybod 178 00:10:24,540 --> 00:10:27,430 beth sy'n mynd ymlaen y tu ôl i'r llenni, gallwch agor i fyny yr offer datblygwr. 179 00:10:27,430 --> 00:10:30,200 Rydw i'n mynd i gael ei defnyddio offer datblygwr Chrome, ac i gyrraedd rhai 180 00:10:30,200 --> 00:10:35,160 gallwch chi ei wneud rheolaeth, newid, J, ac sy'n mynd â chi at y consol JavaScript. 181 00:10:35,160 --> 00:10:37,420 Mae yna ychydig o dabiau yma. 182 00:10:37,420 --> 00:10:39,680 Gallant i gyd fod yn eithaf defnyddiol o dan amgylchiadau gwahanol, ond yr wyf yn gofalu am y rhwydwaith 183 00:10:39,680 --> 00:10:44,150 tab ar hyn o bryd, ac yr wyf mewn gwirionedd yn cael i adnewyddu i gael y gwaith. 184 00:10:44,150 --> 00:10:50,180 O, sori. 185 00:10:50,180 --> 00:10:52,320 Mae'n hoffi i roi enghraifft ar hap. 186 00:10:52,320 --> 00:10:54,700 Iawn, byddwn yn defnyddio'r enghraifft, yn lle hynny. 187 00:10:54,700 --> 00:11:01,330 >> Y syniad yw bod pawb yn API yma, 188 00:11:01,330 --> 00:11:05,330 a gallwch weld yn union beth mae'r API yn dychwelyd. 189 00:11:05,330 --> 00:11:10,220 Mae hyn yn hyn y mae'r cais yn mynd yn ôl oddi wrth y API ar ôl anfon y cais. 190 00:11:10,220 --> 00:11:13,680 Gadewch i mi chwyddo i mewn ychydig bach, 191 00:11:13,680 --> 00:11:18,340 a gallwn weld y bôn mai dim ond cyfres o barau gwerth allweddol yn JSON. 192 00:11:18,340 --> 00:11:23,220 Mewn geiriau eraill, mae gennym y hashmap yma sydd wedi mapio gwerthoedd. 193 00:11:23,220 --> 00:11:26,440 Mewn geiriau eraill, mae'n mapio flynyddoedd i werthoedd. 194 00:11:26,440 --> 00:11:32,600 Yn 1765 pa bynnag air rydym yn dechrau chwilio am ei ddefnyddio 90 o weithiau 195 00:11:32,600 --> 00:11:35,810 allan o 1 miliwn, felly rydym yn mynd yn ôl y canlyniad hwn. 196 00:11:35,810 --> 00:11:40,280 Dyw hi ddim yn union JSON ers i ni gael y pennawd canlyniad bach yma, 197 00:11:40,280 --> 00:11:45,630 ond bod rhybudd bod y gwrthrych cyfan yma yn unig yw blob JSON fawr iawn. 198 00:11:45,630 --> 00:11:51,070 Mae gennym amrywiaeth yma sy'n cynnwys yr elfen hon cyfan, 199 00:11:51,070 --> 00:11:55,590 a gallwch weld bod elfen gyfan yn dod i ben yno, ac yna mae gennym elfen arall mawr 200 00:11:55,590 --> 00:11:59,430 sy'n mynd yr holl ffordd i lawr at y diwedd, a bod dod i ben yma. 201 00:11:59,430 --> 00:12:02,200 Mae gennym amrywiaeth mawr iawn gyda 2 gwrthrychau ynddo, 202 00:12:02,200 --> 00:12:04,630 a phob un o'r amcanion hynny yn hashmap. 203 00:12:04,630 --> 00:12:07,340 Gallwch weld o fewn pob un o'r hashmaps gennym mapio 204 00:12:07,340 --> 00:12:12,700 o'r gwerth hwn mynegai i 0 a gwerth y gwerth hwn i rywun arall hashmap, 205 00:12:12,700 --> 00:12:18,360 sydd unwaith eto yn mapio gwerthoedd echel X i werthoedd echelin Y. 206 00:12:18,360 --> 00:12:20,970 >> Gallwch weld JSON yn cael ychydig yn gymhleth, ond yn gyffredinol, 207 00:12:20,970 --> 00:12:24,190 mewn gwirionedd mae'n ddefnyddiol iawn, ac mae'n hawdd iawn i gael mynediad o gymharu â 208 00:12:24,190 --> 00:12:27,390 gwahanol fathau eraill o nodiant. 209 00:12:27,390 --> 00:12:30,550 Cyn belled ag yr hyn yr ydym yn mewn gwirionedd yn anfon data i'r API i gael, 210 00:12:30,550 --> 00:12:34,690 Rydw i'n mynd i fynd i mewn i'r pen yn ôl ychydig bach yma. 211 00:12:34,690 --> 00:12:39,850 Mae hyn yn y ffeil JavaScript mawr sydd wedi trin pob un o'r rhyngweithio rhwng y app ar y we, 212 00:12:39,850 --> 00:12:44,810 ac felly nid ydym yn poeni am y rhan fwyaf o hyn, ond rydym yn poeni am rai ohono. 213 00:12:44,810 --> 00:12:47,410 Er enghraifft, rydym yn gofalu am y swyddogaeth buildQuery, 214 00:12:47,410 --> 00:12:50,670 ac mae'r syniad o swyddogaeth hon yn y bôn mae'n edrych o gwmpas y dudalen, 215 00:12:50,670 --> 00:12:53,750 figuring allan yr hyn y mae'r defnyddiwr eisiau holi, mewn geiriau eraill, 216 00:12:53,750 --> 00:12:57,090 gwirio blychau hynny lle maent wedi eu mewnbwn derm chwilio, 217 00:12:57,090 --> 00:13:01,380 gwirio Y gwahanol a gwerthoedd echelin X eu bod wedi dewis ac mae pob math hwnnw o beth, 218 00:13:01,380 --> 00:13:06,650 ac mae'n mynd i boeri allan y gwerth ymholiad, a gallaf wedyn anfon i ffwrdd i'r API. 219 00:13:06,650 --> 00:13:09,180 >> Mae hyn yn ymddangos yn gymhleth, ac mae'n gymhleth 'n bert 220 00:13:09,180 --> 00:13:18,090 ond beth dwi'n mynd i'w wneud-a dweud y gwir, rwyf eisoes yn gwneud hyn, sydd yn hen- 221 00:13:18,090 --> 00:13:21,640 yw fy mod i'n mynd i gael y consol i argraffu yn union y gwerth ymholiad 222 00:13:21,640 --> 00:13:28,110 ei fod yn anfon i ffwrdd i'r API. 223 00:13:28,110 --> 00:13:30,870 Dyna mewn gwirionedd i'r dde yma. Mae'n ddrwg gennyf, allbynnau llawer o bethau. 224 00:13:30,870 --> 00:13:33,690 Ond mae hyn yn beth yr ydym yn gofalu am, y gwrthrych iawn yma. 225 00:13:33,690 --> 00:13:35,300 Mae hwn yn y gwrthrych ymholiad. 226 00:13:35,300 --> 00:13:40,670 Mewn geiriau eraill, mae hyn yn union yr hyn y mae'r cais ar y we yn anfon at y API, 227 00:13:40,670 --> 00:13:45,730 ac felly, gadewch i ni edrych y tu mewn i ychydig bach, ac rydym yn gweld mae gennym werthoedd ychydig yma. 228 00:13:45,730 --> 00:13:48,710 Rydym yn gweld mae gennym y math hwn cyfrif, sef digwyddiadau am bob miliwn o eiriau, 229 00:13:48,710 --> 00:13:51,460 sef yr union beth yr ydym wedi dewis yn y echelin Y draw fan hyn. 230 00:13:51,460 --> 00:13:53,740 Dyna lle mae hynny'n dod. 231 00:13:53,740 --> 00:13:58,010 Mae gennym, gwerth cronfa ddata sy'n golygu bod rhywfaint o ddata penodol 232 00:13:58,010 --> 00:14:01,610 bod y data yn byw mewn, ac rydym am i gael mynediad at y data yn benodol 233 00:14:01,610 --> 00:14:04,950 yn hytrach na'r data baban enwau, er enghraifft. 234 00:14:04,950 --> 00:14:08,320 Yna, rydym yn cael y gwerth grwpiau, 235 00:14:08,320 --> 00:14:12,090 sy'n dweud ein bod am i chwilio yn ôl flwyddyn yn hytrach na 236 00:14:12,090 --> 00:14:16,030 unrhyw werth X echelin arall. 237 00:14:16,030 --> 00:14:19,040 Yna, mae gennym ddull, y bydd rhai APIs gwneud pethau lluosog. 238 00:14:19,040 --> 00:14:22,360 Mewn geiriau eraill, gall y API hefyd ddychwelyd mathau eraill o ddata, 239 00:14:22,360 --> 00:14:27,740 ond yn yr achos hwn, yr ydym am mapio gwerthoedd echelin X i werthoedd echelin Y. 240 00:14:27,740 --> 00:14:30,730 Dyna beth mae hynny'n ei ddweud iddo wneud yno, 241 00:14:30,730 --> 00:14:35,020 ac mae gennym y chwiliad terfynau array, sy'n cynnwys 2 gwerthoedd. 242 00:14:35,020 --> 00:14:40,720 Mae'r un cyntaf yw hyn a welwn yma, sef yr holl werthoedd 243 00:14:40,720 --> 00:14:43,020 gynhwysir o fewn y blwch bach cyntaf yn y top. 244 00:14:43,020 --> 00:14:47,570 >> Mewn geiriau eraill, rydym yn awyddus i edrych am y frwydr gair, ac rydym am ei hidlo 245 00:14:47,570 --> 00:14:51,920 gan testunau Saesneg o fewn llenyddiaeth Americanaidd. 246 00:14:51,920 --> 00:14:54,590 Mae gennym y wlad hon, sydd yn UDA. 247 00:14:54,590 --> 00:14:59,130 Mae gennym iaith, sydd yn Saesneg, felly mae gennym pob un o'r rhain wahanol rannau 248 00:14:59,130 --> 00:15:02,690 sydd i gyd yn dweud wrth y API yn union beth yr ydym ei eisiau. 249 00:15:02,690 --> 00:15:04,940 Nid ydym yn gwybod beth yw'r data yr ydym yn mynd yn ôl eto, 250 00:15:04,940 --> 00:15:10,970 ond rydym yn gwybod bod y data yn mynd i gymryd math penodol. 251 00:15:10,970 --> 00:15:13,650 Mae'r enghraifft hon yn fath o ar yr ochr cymhleth, 252 00:15:13,650 --> 00:15:16,180 ac ni fyddech o reidrwydd fod yn defnyddio API hyn yn gymhleth, 253 00:15:16,180 --> 00:15:20,600 ond mae hyn yn dangos i chi yr amrywiaeth a grym yr hyn y gall ei wneud APIs. 254 00:15:20,600 --> 00:15:24,980 Mewn geiriau eraill, gan ddefnyddio system ymholiad gymharol syml yn y bôn rydym yn cael blwch mewnbwn 255 00:15:24,980 --> 00:15:29,490 gydag ychydig o dewiswyr eraill mewn mannau gwahanol. 256 00:15:29,490 --> 00:15:32,010 >> Gadewch i mi chwyddo yn ôl allan yma. 257 00:15:32,010 --> 00:15:37,720 Mae gennym blwch mewnbwn gyda dewisiadau metadata ychydig yn wahanol, 258 00:15:37,720 --> 00:15:40,610 ac mae gennym Y echelin a dewisiadau echelin X. 259 00:15:40,610 --> 00:15:42,830 Nid ydym yn mewn gwirionedd wedi feysydd y mae llawer, 260 00:15:42,830 --> 00:15:46,210 a gallwn weld yn hawdd iawn rydym yn gallu holi ynghylch rhyw fath o API 261 00:15:46,210 --> 00:15:48,510 a chael data yn ôl ac yna ei roi i mewn i'r siart, 262 00:15:48,510 --> 00:15:52,080 sydd wedyn yn mynd i arddangos mewn ffordd ddefnyddiol. 263 00:15:52,080 --> 00:15:54,970 I edrych ar enghraifft arall a allai fod yn ychydig yn fwy cyfarwydd i chi guys 264 00:15:54,970 --> 00:15:56,510 ydym yn mynd i droi i Facebook. 265 00:15:56,510 --> 00:15:59,440 Facebook API yw'r enw ar y Graff Facebook, 266 00:15:59,440 --> 00:16:04,390 ac yn y bôn beth mae hynny'n ei olygu yw Facebook yn gweld ei hun fel y gronfa ddata enfawr 267 00:16:04,390 --> 00:16:08,000 o lawer o rannau gwahanol sydd oll â pherthynas penodol i'w gilydd. 268 00:16:08,000 --> 00:16:11,070 Mewn geiriau eraill, rwy'n defnyddiwr ar Facebook, felly mae gen i broffil, 269 00:16:11,070 --> 00:16:14,310 ac yr wyf hefyd yn cael rhai ffrindiau, ac mae pob un ohonynt proffil, 270 00:16:14,310 --> 00:16:17,580 a phob un o fy ffrindiau wedi wal, sydd â gwahanol sylwadau arno, 271 00:16:17,580 --> 00:16:20,800 a phob un o'r sylwadau hynny yn hoff bethau a hynny i gyd math yna o beth. 272 00:16:20,800 --> 00:16:23,100 >> Mae llawer o wahanol rannau i Facebook. 273 00:16:23,100 --> 00:16:26,670 Mae'n API hynod gymhleth, ac mae tunnell y gallwch ei wneud ag ef, 274 00:16:26,670 --> 00:16:28,450 ond mewn gwirionedd mae'n eithaf syml i'w defnyddio. 275 00:16:28,450 --> 00:16:33,680 Rydw i'n mynd i ddechrau drwy fynd i graph.facebook.com / billyjanitsch, 276 00:16:33,680 --> 00:16:38,430 sydd yn fy enw cyfrif unigryw, a bydd eich enw cyfrif fod naill ai'n 277 00:16:38,430 --> 00:16:43,710 rhyw fath o air os ydych wedi ei ddewis, neu efallai y bydd yn fod yn llinyn o rifau. 278 00:16:43,710 --> 00:16:46,360 Yr hyn yr ydym yn mynd yn ôl o wybodaeth eithaf sylfaenol. 279 00:16:46,360 --> 00:16:50,460 Rydym yn gweld bod gennyf enw cyntaf, sef Billy, enw olaf, sef Janitsch. 280 00:16:50,460 --> 00:16:53,370 Mae yna ID Facebook unigryw sydd gen i. 281 00:16:53,370 --> 00:16:57,920 Gallwch weld fy mod yn wryw a bod gennyf fy gosodiad iaith 282 00:16:57,920 --> 00:17:01,290 i British Saesneg. 283 00:17:01,290 --> 00:17:03,490 Mewn geiriau eraill, rydym yn gweld gwybodaeth sylfaenol iawn yma. 284 00:17:03,490 --> 00:17:08,670 Nid yw'n ormod, ond mae'n rhoi syniad i ni o beth sydd yno. 285 00:17:08,670 --> 00:17:10,849 >> Gallwn wneud yr un peth i David Malan, er enghraifft. 286 00:17:10,849 --> 00:17:13,599 Rwy'n credu ei enw i yw dmalan. 287 00:17:13,599 --> 00:17:16,369 Rydym yn gweld David Malan Mae ID unigryw. 288 00:17:16,369 --> 00:17:19,300 Mae ganddo enw, enw cyntaf, enw canol, enw olaf. 289 00:17:19,300 --> 00:17:24,210 Rydym hefyd yn gweld ei fod yn ddynion ac mae ganddo ei set iaith i Unol Daleithiau Saesneg. 290 00:17:24,210 --> 00:17:26,869 Mewn geiriau eraill, rydym yn gweld gwybodaeth eithaf sylfaenol yma. 291 00:17:26,869 --> 00:17:28,860 Nawr, beth fydd yn digwydd os ydym yn ceisio edrych ar rywbeth arall? 292 00:17:28,860 --> 00:17:33,060 Lets 'ddeud Mae gen i ddiddordeb yn yr hyn David Malan wedi hoffi ar Facebook. 293 00:17:33,060 --> 00:17:36,860 Gallaf ei wneud / yn hoffi. Nawr rydym wedi rhedeg i mewn i broblem. 294 00:17:36,860 --> 00:17:39,280 Rydym wedi cael rhyw fath o wall sy'n dweud tocyn mynediad 295 00:17:39,280 --> 00:17:41,660 Mae angen i ofyn am yr adnodd hwn. 296 00:17:41,660 --> 00:17:44,730 Ond os ydych yn meddwl am y peth, sydd mewn gwirionedd yn gwneud synnwyr oherwydd byddai'n rhyfedd 297 00:17:44,730 --> 00:17:47,830 pe gallech gael mynediad i bob un rhan o Facebook gronfa ddata 298 00:17:47,830 --> 00:17:50,170 yn unig o rhyw fath o API syml, dde? 299 00:17:50,170 --> 00:17:56,040 Mewn geiriau eraill, mae'n debyg na all eich gwybodaeth gael ei defnyddio gan unrhyw un sy'n dymuno ei chael. 300 00:17:56,040 --> 00:17:58,330 >> Mae'r gwall yn union beth mae hynny'n ei olygu. 301 00:17:58,330 --> 00:18:03,630 Mae rhai APIs angen caniatâd penodol er mwyn cael mynediad i'w data. 302 00:18:03,630 --> 00:18:06,940 A APIs hyd yn oed yn fwy datblygedig, fel yr Facebook un, 303 00:18:06,940 --> 00:18:09,840 bydd angen caniatâd penodol i wneud pethau penodol. 304 00:18:09,840 --> 00:18:12,650 Gallaf weld y wybodaeth sylfaenol am David Malan. 305 00:18:12,650 --> 00:18:15,950 Gallaf weld bod ei fod yn ddynion, ac ei fod yn byw yn yr Unol Daleithiau, 306 00:18:15,950 --> 00:18:19,270 ond ni allaf weld unrhyw beth yn y gorffennol hynny. 307 00:18:19,270 --> 00:18:23,050 Er mwyn symud o gwmpas hyn ar hyn o bryd, Facebook yw'r offeryn 'n glws 308 00:18:23,050 --> 00:18:27,690 sef y graff API fforiwr, a'r syniad o hynny yw ydych yn gallu datrys o 309 00:18:27,690 --> 00:18:31,880 gwneud i fyny caniatâd i chi eich hun yn seiliedig ar eich cyfrif eich hun 310 00:18:31,880 --> 00:18:35,680 ac yna gweld pethau sy'n benodol gall eich cyfrif gweld. 311 00:18:35,680 --> 00:18:45,120 Er enghraifft, os wyf yn gwneud graph.facebook.com/billyjanitsch/likes- 312 00:18:45,120 --> 00:18:53,510 Wps, yr wyf yn dyfalu rhaid i mi ail-ddilysu fy tocyn yma. 313 00:18:53,510 --> 00:18:55,950 Iawn. 314 00:18:55,950 --> 00:19:01,740 Os byddaf yn gwneud hynny eto, mawr, yn awr yr wyf yn gweld fy mod yn cael y gwrthrych yn ôl 315 00:19:01,740 --> 00:19:06,300 sy'n dweud fy mod yn hoffi nwdls pwll, sydd yn y categori Gemau a Teganau. 316 00:19:06,300 --> 00:19:08,620 Rwy'n hoffi walruses, sydd yn y categori Anifeiliaid. 317 00:19:08,620 --> 00:19:10,180 Mae'r rhain yn fy hoffi Facebook gwirioneddol. 318 00:19:10,180 --> 00:19:13,280 Maent yn fath o embaras. 319 00:19:13,280 --> 00:19:16,090 >> Ond gallwn weld y data yn cael ei ddychwelyd i gyd yn JSON. 320 00:19:16,090 --> 00:19:18,160 Mae'n eithaf darllenadwy. 321 00:19:18,160 --> 00:19:20,970 Mewn geiriau eraill, mae gennym y mapio data i ryw fath o array, 322 00:19:20,970 --> 00:19:25,220 ac mae pob elfen o'r casgliad yn hashmap sy'n mapio'r 323 00:19:25,220 --> 00:19:28,530 y enw tebyg a'r categori o debyg. 324 00:19:28,530 --> 00:19:31,240 Mae gan bob tebyg yn cael ID unigryw. 325 00:19:31,240 --> 00:19:34,510 Mae pob math o bethau gwahanol o ddata y gallwn gael, 326 00:19:34,510 --> 00:19:37,980 ac os oes gennych ddiddordeb mewn defnyddio'r API Facebook ar gyfer prosiect terfynol CS50 327 00:19:37,980 --> 00:19:40,720 neu ar gyfer unrhyw beth felly mewn gwirionedd mae'n eithaf doable. 328 00:19:40,720 --> 00:19:44,260 Yn y bôn sut yr ydych yn symud o gwmpas y peth ddilysu yw Facebook 329 00:19:44,260 --> 00:19:48,030 yn defnyddio system a elwir yn OAuth, neu Dilysu Agored, 330 00:19:48,030 --> 00:19:52,870 ac nid wyf am fynd i mewn iddo nawr oherwydd OAuth neu'r math gwahanol 331 00:19:52,870 --> 00:19:56,060 dilysu yn tueddu i amrywio llawer rhwng gwahanol APIs, 332 00:19:56,060 --> 00:19:58,320 er mwyn i mi dreulio amser hir yn mynd dros bob un, 333 00:19:58,320 --> 00:20:01,170 ond maen nhw'n gwirionedd yn eithaf hunanesboniadol. 334 00:20:01,170 --> 00:20:04,050 >> Os ydych yn Google API Facebook mae'n darllenadwy iawn. 335 00:20:04,050 --> 00:20:06,670 Mae manyleb gyfan. 336 00:20:06,670 --> 00:20:10,210 Er enghraifft, mae hyn yn y dogfennau ar gyfer y API Facebook, 337 00:20:10,210 --> 00:20:14,170 a gallwch weld dwi ar y dudalen Defnyddiwr, er mwyn i mi ddysgu popeth am y gwahanol fathau o bethau 338 00:20:14,170 --> 00:20:17,170 sydd ar gael i gael data cyn belled ag y 339 00:20:17,170 --> 00:20:21,550 a hefyd y caniatadau gwahanol yr wyf ei angen er mwyn cael mynediad iddynt. 340 00:20:21,550 --> 00:20:25,470 Fel y gwelsom, nid oes angen caniatâd i fynd at yr enw neu rhyw, 341 00:20:25,470 --> 00:20:29,380 ond y tu hwnt ein bod oes angen caniatâd ar gyfer rhan fwyaf o bethau. 342 00:20:29,380 --> 00:20:33,040 Mae'r dudalen hon, neu yn hytrach, bydd y wefan hon hefyd yn dweud wrthych sut i gael 343 00:20:33,040 --> 00:20:35,640 arwydd i fod yn gallu dilysu eich hun. 344 00:20:35,640 --> 00:20:39,290 Systemau dilysu rhan fwyaf yn defnyddio rhyw fath o arwydd 345 00:20:39,290 --> 00:20:42,880 lle rydych yn cael y gwerth unigryw, sy'n llinyn hir iawn ac ar hap, 346 00:20:42,880 --> 00:20:46,240 a bod y ffordd y maent yn eu cysylltu â'r cais eich bod yn gwneud gyda chi. 347 00:20:46,240 --> 00:20:50,560 Mewn geiriau eraill, maent yn gwybod nad ydych chi'n gwneud unrhyw beth amheus gyda'u data. 348 00:20:50,560 --> 00:20:53,340 Maent yn gwybod yn union beth rydych yn ei gael. 349 00:20:53,340 --> 00:20:56,180 Maent hefyd yn gwybod bod gennych ganiatâd i weld y wybodaeth honno. 350 00:20:56,180 --> 00:20:59,110 >> Os ydych wedi gwneud app Facebook a bod eich app yn cynnwys defnyddwyr penodol, 351 00:20:59,110 --> 00:21:03,380 a'r rhai defnyddwyr wedi cael y app i gael mynediad i rai rhannau o'u proffil, 352 00:21:03,380 --> 00:21:07,790 Yna, beth bynnag API allwedd neu docyn bod y app yn defnyddio 353 00:21:07,790 --> 00:21:11,090 yn gallu cael mynediad i'r data ar gyfer y defnyddwyr. 354 00:21:11,090 --> 00:21:13,780 Efallai bod hyn yn swnio'n gymhleth, ond nid yw'n rhy ddrwg, 355 00:21:13,780 --> 00:21:16,810 ac os ydych am ddefnyddio Facebook Byddwn yn argymell eich bod yn 356 00:21:16,810 --> 00:21:18,990 ystyried yn chwarae o gwmpas gyda'u API. 357 00:21:18,990 --> 00:21:21,610 Mae'n oer iawn, a gallwch wneud llawer o bethau gwahanol ag ef. 358 00:21:21,610 --> 00:21:24,880 Os yw'r defnyddiwr yn rhoi i chi caniatadau hyn gallwch hyd yn oed fynd yn ôl at y API 359 00:21:24,880 --> 00:21:28,820 a dweud fy mod eisiau mewn gwirionedd bostio i wal y defnyddiwr, neu yr wyf yn awyddus i gael eu postio llun, 360 00:21:28,820 --> 00:21:32,390 a dyna pam ar eich porthiant newyddion byddwch chi weithiau yn cael y pethau hynny yn blino 361 00:21:32,390 --> 00:21:37,840 gan ddweud eich ffrind wedi gwylio fideo hwn ar ryw fath o safle 'n annaearol neu rywbeth fel' na. 362 00:21:37,840 --> 00:21:43,120 Mae hynny oherwydd bod y app wedi cael mynediad i swydd ar wal y person hwnnw. 363 00:21:43,120 --> 00:21:48,350 Y syniad yn gyffredinol, mae'r API Facebook yn gymhleth 'n bert, ond hefyd yn ddefnyddiol iawn. 364 00:21:48,350 --> 00:21:53,220 Yn bendant yn werth edrych allan os ydych chi'n dal i chwilio am brosiect terfynol. 365 00:21:53,220 --> 00:21:57,930 >> Arall gyfres o APIs fy mod i'n mynd i fynd drosodd yn CS50 APIs. 366 00:21:57,930 --> 00:22:00,070 Gadewch i mi chwyddo i mewn yma. 367 00:22:00,070 --> 00:22:03,390 CS50 wedi mewn gwirionedd yn llunio cyfres gyfan o APIs 368 00:22:03,390 --> 00:22:07,080 y gallwch ei ddefnyddio ar gyfer prosiect terfynol neu dim ond am unrhyw beth eich bod yn gwneud. 369 00:22:07,080 --> 00:22:12,830 Ac maent yn bennaf Harvard cysylltiedig, ac maent yn amrywio o'r ddewislen HUDS, 370 00:22:12,830 --> 00:22:17,780 er enghraifft, i hyn Digwyddiadau Harvard API, a fydd yn gadael i chi weld rhestr o 371 00:22:17,780 --> 00:22:21,290 digwyddiadau gwahanol sy'n mynd ymlaen yn Harvard a'r math yna o beth. 372 00:22:21,290 --> 00:22:24,510 Ac er mwyn i ni glicio ar unrhyw un o'r rhain a chael spec ar ei gyfer, 373 00:22:24,510 --> 00:22:28,090 a byddwch yn gallu dod o hyd i unrhyw API, a'r syniad yw 374 00:22:28,090 --> 00:22:33,920 mae'n gadael i chi wybod, A, yn benodol beth i'w ofyn i'r API a sut i ofyn amdani. 375 00:22:33,920 --> 00:22:37,370 Mewn geiriau eraill, os ydw i eisiau holl ddigwyddiadau sy'n digwydd yfory 376 00:22:37,370 --> 00:22:42,550 yna mae'n rhaid i mi roi amlwg y dyddiad hwnnw fy mod eisiau mewn fformat penodol, 377 00:22:42,550 --> 00:22:46,030 a B, bydd yn dweud wrthyf yn union beth mae'n mynd i roi yn ôl i mi. 378 00:22:46,030 --> 00:22:48,590 Bydd yn dweud fy mod i'n mynd i ddychwelyd hwn i chi gwrthrych JSON, 379 00:22:48,590 --> 00:22:50,960 neu fel y gallwch weld, mae fformatau gwahanol. 380 00:22:50,960 --> 00:22:54,050 >> Gallwch hefyd ddychwelyd y data fel CSV, er enghraifft. 381 00:22:54,050 --> 00:22:57,620 Ond eich bod yn gwybod yn union sut y data yn mynd i edrych pan fyddwch yn ei gael yn ôl 382 00:22:57,620 --> 00:23:00,610 fel y gallwch ddisgwyl i wneud rhai pethau ag ef. 383 00:23:00,610 --> 00:23:07,240 Gallwn sgroliwch i lawr a gweld, er enghraifft, os ydym am holi am y API 384 00:23:07,240 --> 00:23:11,500 i gael calendr, yna gallwn ddefnyddio'r URL penodol 385 00:23:11,500 --> 00:23:16,480 a rhoi paramedrau penodol sydd yn mynd i fod y data yr ydym am yn union. 386 00:23:16,480 --> 00:23:19,540 Ac yn yr un modd, os ydym am i'r data yn ôl mewn fformat penodol, 387 00:23:19,540 --> 00:23:23,790 yna gallwn ofyn i allbynnu data mewn CSV, 388 00:23:23,790 --> 00:23:27,700 a dim ond un arall paramedr ein bod yn mynd heibio i'r API. 389 00:23:27,700 --> 00:23:29,210 Mae llawer o bethau cŵl i'w wneud yno. 390 00:23:29,210 --> 00:23:32,550 Byddwn yn bendant yn argymell edrych ar y APIs CS50. 391 00:23:32,550 --> 00:23:36,000 >> Rydw i'n mynd i edrych ar y API Bwyd Harvard yn arbennig am ychydig. 392 00:23:36,000 --> 00:23:39,870 Un peth dwi wedi cynllunio mewn gwirionedd yn y wefan hon NOMS Harvard, 393 00:23:39,870 --> 00:23:44,930 sy'n defnyddio'r API Bwyd CS50 i adfer y fwydlen HUDS ar gyfer y diwrnod. 394 00:23:44,930 --> 00:23:50,400 Ac ar gyfer pobl ysgol estyniad, HUDS yw'r gwasanaeth bwyta yn Harvard. 395 00:23:50,400 --> 00:23:55,130 Beth fyddwch chi'n ei gael yn y dudalen hon sy'n cynnwys yr holl brydau bwyd am y diwrnod, felly rydym yn gweld cinio. 396 00:23:55,130 --> 00:23:58,130 Mae gennym ychydig o gategorïau gwahanol. Mae gennym y ffa a gorsaf grawn cyfan. 397 00:23:58,130 --> 00:24:00,340 Mae gennym yr orsaf reis brown. 398 00:24:00,340 --> 00:24:03,360 Gallwn weld am brunch gennym y eitemau bwyd ychydig. 399 00:24:03,360 --> 00:24:07,030 Os byddwn yn clicio arnyn nhw, yna rydym yn cael y wybodaeth am faeth. 400 00:24:07,030 --> 00:24:12,240 Byddwch yn gweld hyn yn y wybodaeth am faeth ar gyfer grawnffrwyth, rhag ofn eich bod yn pendroni. 401 00:24:12,240 --> 00:24:14,870 Ac felly eto, rydym yn mynd i cyfoedion i ben yn ôl yma ychydig 402 00:24:14,870 --> 00:24:18,530 a gweld beth yn union mae hyn yn ei wneud i gael y data hwn. 403 00:24:18,530 --> 00:24:21,710 Ac mae'n troi allan i beidio mewn gwirionedd fod yn gymhleth iawn o gwbl. 404 00:24:21,710 --> 00:24:28,720 Mae'r ffeil hon yn edrych yn flêr ychydig, ond cadwch mewn cof bod hyn yn ymdrin â'r wefan gyfan, 405 00:24:28,720 --> 00:24:34,130 ac os byddaf yn sgroliwch i lawr rydym yn gweld hyn newid data swyddogaeth. 406 00:24:34,130 --> 00:24:36,630 >> Nawr, dim ond i fod yn glir, mae hyn wedi'i ysgrifennu mewn CoffeeScript, 407 00:24:36,630 --> 00:24:39,570 sy'n iaith nad ydych yn ôl pob tebyg wedi ei weld o'r blaen. 408 00:24:39,570 --> 00:24:44,810 Ond mae'n eithaf darllenadwy, felly byddaf yn cerdded drwyddo fel pe bai'n pseudocode. 409 00:24:44,810 --> 00:24:49,080 Dyddiad Newid yn swyddogaeth sy'n mynd i gymryd yn y gwerth dyddiad, 410 00:24:49,080 --> 00:24:51,740 ac mae hefyd yn mynd i gymryd yn gyntaf, nad ydym yn poeni am gymaint. 411 00:24:51,740 --> 00:24:54,110 Ond y peth pwysig yw ei fod wedi y dyddiad hwn, 412 00:24:54,110 --> 00:25:00,080 a bod dyddiad yn y dydd yr ydym am i ofyn am bob un o'r eitemau bwyd ar gyfer. 413 00:25:00,080 --> 00:25:04,030 Ac yna byddwch yn gweld mae gennym ychydig o gystrawen yma, 414 00:25:04,030 --> 00:25:09,000 sydd yn y bôn dosrannu y dyddiad hwnnw i mewn i fformat darllenadwy. 415 00:25:09,000 --> 00:25:11,920 Mewn geiriau eraill, y API ei gwneud yn ofynnol y dyddiad mewn fformat penodol. 416 00:25:11,920 --> 00:25:17,390 Ni allwch ddweud Tachwedd 16, 2012 OC. 417 00:25:17,390 --> 00:25:20,320 Ni fydd yn gwybod beth i'w wneud â hynny. Mae am y dyddiad mewn fformat penodol. 418 00:25:20,320 --> 00:25:23,230 Mae pob rydym yn ei wneud yma yn rhoi yn union y fformat hwnnw, 419 00:25:23,230 --> 00:25:26,520 sydd yn werth flwyddyn ac yna cysylltnod, mae gwerth mis, 420 00:25:26,520 --> 00:25:29,420 arall cysylltnod a gwerth dyddiad. 421 00:25:29,420 --> 00:25:34,910 Ac rydym hefyd yn dweud ein bod am i'r data fod yn allbwn yn JSON. 422 00:25:34,910 --> 00:25:37,560 >> Nawr rydym yn gwneud y cais hwn AJAX, ac fel y soniais yn gynharach, 423 00:25:37,560 --> 00:25:41,680 jQuery Mae swyddogaeth hon AJAX super defnyddiol y mae pob angen i chi ei wneud yw nodi 424 00:25:41,680 --> 00:25:45,780 bydd paramedrau ychydig i lawr yma, ac yn rhoi chi yn ôl yn union beth rydych ei eisiau. 425 00:25:45,780 --> 00:25:50,490 Rydym yn dweud wrtho fod y URL yr ydym am iddo fynd i yw hyn CS50 API Bwyd, 426 00:25:50,490 --> 00:25:52,270 yr ydym yn cael oddi wrth y fanyleb. 427 00:25:52,270 --> 00:25:56,730 Rydym yn dweud ein bod am y data yn JSON a bod 428 00:25:56,730 --> 00:25:59,490 rydym yn mynd i roi data hwn yr ydym wedi diffinio hyd yma. 429 00:25:59,490 --> 00:26:02,670 Dyma'r diwrnod yr ydym am i'r eitemau bwyd ar gyfer. 430 00:26:02,670 --> 00:26:07,790 Ac yna i gyd mae'n rhaid i ni ei wneud yw diffinio rhyw fath o swyddogaeth llwyddiant, 431 00:26:07,790 --> 00:26:11,980 sydd yn y bôn yr hyn sy'n digwydd pan fydd y API yn dychwelyd y data. 432 00:26:11,980 --> 00:26:15,490 Mewn geiriau eraill, rydym wedi pecynnu i fyny pob un o'r paramedrau yr ydym am, 433 00:26:15,490 --> 00:26:20,530 sydd yn yr achos hwn yw'r diwrnod ein bod am iddi a'r ffaith ein bod am iddi yn JSON, 434 00:26:20,530 --> 00:26:23,840 ac rydym yn ei anfon i ffwrdd i'r API, felly nawr mae'r API yn dweud, iawn, 435 00:26:23,840 --> 00:26:26,350 yma yw eich data, Cawn ef yn ôl i chi. 436 00:26:26,350 --> 00:26:29,930 Mae gennym y, swyddogaeth llwyddiant sy'n golygu o gofio bod y API 437 00:26:29,930 --> 00:26:32,230 llwyddiannus yn dychwelyd rhywfaint o ddata, beth ydym yn ei wneud ag ef? 438 00:26:32,230 --> 00:26:35,980 >> Ac mae'n troi allan bod yr holl ydym yn ei wneud yw galw y diweddariad hwn swyddogaeth ddewislen 439 00:26:35,980 --> 00:26:42,680 â beth bynnag y API wedi dychwelyd, fel y gallwn chwilio am y 440 00:26:42,680 --> 00:26:47,970 a gweld bod yr holl rydym yn ei wneud yn defnyddio criw o gystrawen newydd yma 441 00:26:47,970 --> 00:26:52,220 i ddiweddaru'r HTML a mewnosod y data newydd. 442 00:26:52,220 --> 00:26:56,580 Beth mae hyn yn caniatáu yw gennym y saethau ar y naill ochr, a gallwn glicio, 443 00:26:56,580 --> 00:27:01,060 ac yn awr rydym yn edrych ar y data ar gyfer y diwrnod nesaf ac eto ar gyfer y diwrnod nesaf, 444 00:27:01,060 --> 00:27:04,820 a phob tro y mae'n ei ddiweddaru bod gwerth dyddiad ac ymholi y API, 445 00:27:04,820 --> 00:27:07,510 mynd yn ôl rhywfaint o ddata a'i roi i mewn i'r safle. 446 00:27:07,510 --> 00:27:10,590 Unwaith eto, gallwch weld, super, super defnyddiol. 447 00:27:10,590 --> 00:27:14,410 Mae hyn yn app yn cymryd i mi ychydig oriau i hacio gyda'i gilydd, 448 00:27:14,410 --> 00:27:20,140 ac mae gennyf brofiad ychydig yn fwy, yn amlwg, ond mae eich CS50 prosiect terfynol 449 00:27:20,140 --> 00:27:22,870 Gall edrych rhywbeth yn debyg iawn hyn. 450 00:27:22,870 --> 00:27:29,540 >> APIs yn cael eu super pwerus ar gyfer faint o ymdrech a wneir ganddynt. 451 00:27:29,540 --> 00:27:32,800 Y peth olaf i mi i'n mynd i fynd dros yn APIs ychydig yn fwy cyffredinol. 452 00:27:32,800 --> 00:27:35,480 Ni fyddaf yn mynd mor bell i mewn iddynt cyn belled ag y hyn y maent yn ei wneud yn benodol, 453 00:27:35,480 --> 00:27:38,740 ond byddaf yn rhoi syniad i chi o'r hyn sydd ar gael. 454 00:27:38,740 --> 00:27:42,700 2 rhai yn ddefnyddiol iawn, os oes gennych ddiddordeb mewn dadansoddiad delweddu data neu 455 00:27:42,700 --> 00:27:45,960 neu unrhyw beth fel 'na, yn Freebase a Wikipedia. 456 00:27:45,960 --> 00:27:49,800 Wikipedia-tybiaf eich bod i gyd yn gwybod-yn wyddoniadur ar-lein rhad ac am ddim, 457 00:27:49,800 --> 00:27:53,230 ac mewn gwirionedd mae ganddo API, felly os ydych am i, er enghraifft, 458 00:27:53,230 --> 00:27:56,250 cael yr holl o'r testunau a'r erthyglau ar gyfer octopws 459 00:27:56,250 --> 00:27:58,030 gallwch yn hawdd iawn gwneud hynny. 460 00:27:58,030 --> 00:28:02,300 Dim ond dweud hey, Wikipedia API, hoffwn i gael y data a ddychwelwyd fel hyn, 461 00:28:02,300 --> 00:28:07,010 a byddwn yn ei hoffi yn y fformat hwn, ac yn yr erthygl hoffwn yn octopws, 462 00:28:07,010 --> 00:28:09,820 ac yn gyflym iawn y bydd yn rhoi chi yn ôl y wybodaeth honno. 463 00:28:09,820 --> 00:28:12,230 Gall hynny fod yn ddefnyddiol iawn os ydych am wneud rhyw fath o safle 464 00:28:12,230 --> 00:28:16,200 mae hynny'n gwyliwr gwell ar gyfer Wikipedia neu rywbeth fel 'na. 465 00:28:16,200 --> 00:28:21,350 >> Freebase yn fath o tebyg, er ei fod yn ychydig yn galetach cyn belled ag API. 466 00:28:21,350 --> 00:28:24,390 Freebase yn debyg Wikipedia yn ei fod yn wyddoniadur ar-lein 467 00:28:24,390 --> 00:28:29,050 sy'n cynnwys llawer a llawer o ddata gwahanol am bob math o bynciau gwahanol, 468 00:28:29,050 --> 00:28:33,150 ond mae'n cael ei storio mewn cronfa ddata berthynol, sydd ychydig yn wahanol i Wikipedia. 469 00:28:33,150 --> 00:28:36,410 Wikipedia wedi ei erthyglau ac erthyglau gysylltu ag erthyglau eraill, 470 00:28:36,410 --> 00:28:38,860 ond ar gyfer y rhan fwyaf, os ydych am i'r data ar gyfer octopws, 471 00:28:38,860 --> 00:28:41,990 byddwch yn mynd i'r erthygl octopws, cael y data, ac mae gennych griw o destun 472 00:28:41,990 --> 00:28:43,830 am octopysau, felly mae hynny'n wych. 473 00:28:43,830 --> 00:28:46,870 Freebase yn gweithio mewn modd ychydig yn fwy cymhleth yn y 474 00:28:46,870 --> 00:28:48,930 popeth yn perthyn i'w gilydd. 475 00:28:48,930 --> 00:28:52,620 Mewn geiriau eraill, os ydym yn chwilio am octopws 476 00:28:52,620 --> 00:28:54,940 yna mae'n wedi i griw o gategorïau sy'n gysylltiedig ag ef. 477 00:28:54,940 --> 00:28:57,920 >> Er enghraifft, ei fod yn anifail, mae'n byw o dan y dŵr, 478 00:28:57,920 --> 00:28:59,710 mae ganddo tymheredd y corff penodol. 479 00:28:59,710 --> 00:29:01,210 Nid wyf yn gwybod. 480 00:29:01,210 --> 00:29:04,230 Ac mae pob un o'r categorïau cysylltiadau i lefydd eraill lle gallwch fynd 481 00:29:04,230 --> 00:29:06,640 i weld pethau gyda hynny un categori. 482 00:29:06,640 --> 00:29:13,450 Mewn geiriau eraill, byddai'r octopws set ddata yn cynnwys dolen at y data a osodwyd ar gyfer yr holl anifeiliaid, 483 00:29:13,450 --> 00:29:16,790 ac y byddai gadael i mi symud o gwmpas yn y gronfa ddata yn gyflym iawn. 484 00:29:16,790 --> 00:29:21,740 Gall hyn fod yn ddefnyddiol iawn os ydych yn gwneud rhywbeth fel cymariaethau. 485 00:29:21,740 --> 00:29:24,490 Mewn geiriau eraill, ac ystyried beth penodol, rydych am weld 486 00:29:24,490 --> 00:29:27,890 beth arall y mae'n ymwneud â a gweld beth arall nad yw'n gysylltiedig â. 487 00:29:27,890 --> 00:29:30,700 Y math yna o beth. Gall fod yn ddefnyddiol mewn nifer o ffyrdd. 488 00:29:30,700 --> 00:29:34,250 Os ydych yn chwilio am fwy o her ac i fod yn gallu gwneud rhai pethau yn fwy cymhleth 489 00:29:34,250 --> 00:29:38,740 Byddwn yn ystyried cymryd golwg ar y API Freebase. 490 00:29:38,740 --> 00:29:44,670 Ond i raddau helaeth, Wicipedia yn lle syml iawn i fynd mor bell â chael gwybodaeth. 491 00:29:44,670 --> 00:29:48,340 Arall lle y byddaf yn edrych arno yw Last.fm, ac rwy'n wir yn mynd i fynd i'r safle 492 00:29:48,340 --> 00:29:53,800 rhag ofn nad yw rhai pobl yn gyfarwydd, ond mae Last.fm yn y bôn yn gerddoriaeth 493 00:29:53,800 --> 00:29:57,220 chwaeth ac argymhellion wefan. 494 00:29:57,220 --> 00:29:59,000 Gallwch wneud cyfrif. 495 00:29:59,000 --> 00:30:04,250 Gallwch ddechrau cerddoriaeth llwytho i fyny o eich chwaraewr cerddoriaeth 496 00:30:04,250 --> 00:30:08,020 i'r wefan, ac yn y bôn bydd yn dechrau rhoi argymhellion cerddoriaeth 497 00:30:08,020 --> 00:30:10,030 seiliedig ar yr hyn ydych yn gwrando. 498 00:30:10,030 --> 00:30:14,270 >> Er enghraifft, os byddwch yn mynd i dudalen eich proffil-mae hyn yn fy- 499 00:30:14,270 --> 00:30:18,180 gallwch weld bod gennych restr o yn ddiweddar gwrando ar draciau. 500 00:30:18,180 --> 00:30:22,550 Gallwch weld hoff artistiaid ar y cyfan, y cyfan y math hwnnw o beth, 501 00:30:22,550 --> 00:30:25,280 ac unwaith eto, mae 'na API mawr y tu ôl Last.fm, 502 00:30:25,280 --> 00:30:29,360  a gallwch ei ddefnyddio i wneud llawer a llawer o bethau 'n sylweddol oera. 503 00:30:29,360 --> 00:30:38,870 Er enghraifft, byddaf yn mynd i dudalen ffrind a gaiff y wefan Offer Last.fm. 504 00:30:38,870 --> 00:30:42,380 Mae hyn mewn gwirionedd llwyfan arall sydd wedi adeiladu ar y API Last.fm, 505 00:30:42,380 --> 00:30:45,420 ac mae'n gwneud nifer o bethau diddorol 'n bert. 506 00:30:45,420 --> 00:30:50,260 Os byddaf yn logio i mewn gyda fy enw defnyddiwr, er enghraifft, 507 00:30:50,260 --> 00:30:53,110 Gallaf ofyn i greu cwmwl tag, er enghraifft, 508 00:30:53,110 --> 00:30:56,480 a beth mae hynny'n mynd i wneud yw rhoi i mi yn ôl delwedd o 509 00:30:56,480 --> 00:30:59,850 yr holl genres gwahanol a'r math hwnnw o beth fy mod yn hoffi i wrando. 510 00:30:59,850 --> 00:31:01,410 Sut mae'n gwneud hyn? 511 00:31:01,410 --> 00:31:05,670 Iawn yn y bôn mae'n dweud wrth y API Last.fm dyma y defnyddiwr hwn. 512 00:31:05,670 --> 00:31:10,710 Hoffwn i wybod y genre o bob cân eu bod wedi erioed gwrando arnynt, 513 00:31:10,710 --> 00:31:15,130 a gallwch wneud hynny drwy wneud galwad AJAX 'n bert syml i'r API Last.fm. 514 00:31:15,130 --> 00:31:18,990 Byddwch yn mynd yn ôl rhestr mawr, ac yna yn amlwg rhai pethau eraill yn cael ei wneud 515 00:31:18,990 --> 00:31:22,280 i droi i mewn i cwmwl gair, ond gallwch weld y cyfan 516 00:31:22,280 --> 00:31:25,850 mae'n hawdd iawn i gael gafael ar ac yn hawdd iawn i'w defnyddio. 517 00:31:25,850 --> 00:31:30,750 Really braf ar gyfer nifer o bethau. 518 00:31:30,750 --> 00:31:35,940 >> Rwy'n credu bod am yr holl byddaf yn dweud y cyfan. 519 00:31:35,940 --> 00:31:39,040 Un peth olaf 'n annhymerus' yn sôn am APIs yn gyffredinol yw bod 520 00:31:39,040 --> 00:31:41,840 byddwch weithiau yn rhedeg i mewn i rywbeth a elwir yn gyfradd cyfyngu, 521 00:31:41,840 --> 00:31:44,940 a'r syniad o gyfradd cyfyngu yw nad ydych am i gam-drin APIs. 522 00:31:44,940 --> 00:31:48,130 Mewn geiriau eraill, mae'n braf iawn bod llawer o'r gwefannau hyn yn cael APIs 523 00:31:48,130 --> 00:31:51,070 y gallwch fynd i, a defnydd rhad ac am ddim. 524 00:31:51,070 --> 00:31:54,460 Fodd bynnag, os ydych yn gwneud miliynau neu biliynau o geisiadau y dydd, 525 00:31:54,460 --> 00:31:57,610 er enghraifft, os ydych yn sownd mewn cylch diddiwedd sydd wedi ganmil holi 526 00:31:57,610 --> 00:32:00,680 rhyw fath o API a mynd yn ôl llawer iawn o ddata, 527 00:32:00,680 --> 00:32:04,570 yn amlwg nid yw hynny'n dda, felly yr hyn y mae llawer o APIs ei wneud yw wedi cyfyngu ar y gyfradd hon yn nodwedd 528 00:32:04,570 --> 00:32:09,970 sy'n dweud unig y cewch wneud 1,000 o geisiadau y dydd i bob cyfeiriad IP neu rywbeth fel 'na. 529 00:32:09,970 --> 00:32:12,540 Ac os ydych chi'n gwneud llawer o brofi a bod y math yna o beth, 530 00:32:12,540 --> 00:32:14,890 byddwch weithiau yn rhedeg i mewn i hynny, ac yn sydyn bydd yn cau'r chi i ffwrdd 531 00:32:14,890 --> 00:32:18,280 ac yn dweud na, dydw i ddim yn rhoi unrhyw ddata mwy. 532 00:32:18,280 --> 00:32:20,000 >> Beth ydych chi eisiau ei wneud yw chwarae yn ôl y rheolau. 533 00:32:20,000 --> 00:32:22,950 Byddwch am wneud yn siŵr eich bod yn darllen y fanyleb API yn ofalus. 534 00:32:22,950 --> 00:32:26,330 Gall Os yw wedi rheolau penodol ynghlwm wrtho, fel chi ond yn gwneud ymholiadau X y dydd 535 00:32:26,330 --> 00:32:30,000 neu gallwch gael mynediad i rhan o'r gronfa ddata nifer penodol o weithiau 536 00:32:30,000 --> 00:32:32,900 neu rywbeth fel 'na chi am wneud yn siŵr eich bod yn cadw at hynny. 537 00:32:32,900 --> 00:32:38,360 Cyn belled ag y byddwch yn chwarae o fewn y rheolau hynny mae'n debyg y byddwch yn cael amser braf iawn gan ddefnyddio APIs. 538 00:32:38,360 --> 00:32:42,030 Mae eich prydau parod cyffredinol yw APIs mewn gwirionedd, yn ddefnyddiol iawn. 539 00:32:42,030 --> 00:32:45,610 >> Mae 'an API ar gyfer bron unrhyw wasanaeth ar y we mawr allan yno. 540 00:32:45,610 --> 00:32:50,700 'N bert lawer unrhyw ran o'r Tools Google Suite, Google Maps, Google Earth, 541 00:32:50,700 --> 00:32:54,390 GMail, Google Calendar, pethau hynny i gyd wedi APIs. 542 00:32:54,390 --> 00:32:58,280 Gallwch eu defnyddio i ddata get o'r gweinydd ac anfon data i'r gweinydd. 543 00:32:58,280 --> 00:33:00,870 Mewn geiriau eraill, os ydych am wneud app calendr y gellir diweddaru 544 00:33:00,870 --> 00:33:04,190 rhywun Google Calendar, mae 'na API ar gyfer hynny. 545 00:33:04,190 --> 00:33:07,810 Os ydych am wneud rhywbeth sy'n mynd i ddweud wrthych ble 546 00:33:07,810 --> 00:33:12,530 y lleoliad o gyfeiriad penodol yn gallwch ddefnyddio'r Maps Google API ar gyfer hynny. 547 00:33:12,530 --> 00:33:15,860 APIs yn hynod ddefnyddiol, ac maent yn ym mhob man. 548 00:33:15,860 --> 00:33:18,700 Os oes gennych ddiddordeb mewn rhyw fath o syniad, 549 00:33:18,700 --> 00:33:22,170 mae'n debyg bod API cysylltiedig y gallwch eu defnyddio i gael llawer o ddata 550 00:33:22,170 --> 00:33:25,060 yn gyflym iawn ac yn syml iawn. 551 00:33:25,060 --> 00:33:28,140 >> Os ydych chi'n dal i chwilio am brosiect neu os ydych eisiau chwarae o gwmpas 552 00:33:28,140 --> 00:33:31,820 gyda rhywbeth yn gyffredinol, APIs yn bendant yn werth ei wneud. 553 00:33:31,820 --> 00:33:37,200 Diolch, ac rwy'n hapus i ateb unrhyw gwestiynau a all fod gennych guys gennych. 554 00:33:37,200 --> 00:33:44,900 Iawn, diolch llawer. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]