1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [संगोष्ठी] [एक प्रोग्रामर APIs परिचय] 2 00:00:02,480 --> 00:00:04,059 [बिली Janitsch] [हार्वर्ड विश्वविद्यालय] [टॉमी MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [यह CS50 है.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> हाय, सब लोग, मैं बिली हूँ, और आज मैं API के बारे में बात कर रही हो जा रहा हूँ, 5 00:00:12,100 --> 00:00:15,220 या अनुप्रयोग प्रोग्रामिंग इंटरफेस, 6 00:00:15,220 --> 00:00:20,040 CS50 अंतिम परियोजनाओं और बात का है कि तरह के संदर्भ में विशेष रूप से. 7 00:00:20,040 --> 00:00:22,490 सामान्य में क्या एक एपीआई है? 8 00:00:22,490 --> 00:00:25,530 बहुत व्यापक संदर्भ में, यह एक आदमी के बीच है कि 2 टुकड़े की अनुमति देता है की तरह है 9 00:00:25,530 --> 00:00:28,610 सॉफ्टवेयर की एक दूसरे के साथ संवाद करने के लिए. 10 00:00:28,610 --> 00:00:32,530 यह बहुत व्यापक परिभाषा की तरह है और है कि हम क्या देख रहे हैं के लिए प्रासंगिक नहीं है. 11 00:00:32,530 --> 00:00:35,450 क्या हम वास्तव में चाहते हैं उपयोगी मध्यम जमीन के कुछ प्रकार है 12 00:00:35,450 --> 00:00:40,570 डेटाबेस के कुछ प्रकार के साथ कहीं संवाद. 13 00:00:40,570 --> 00:00:43,310 >> यहाँ एक चार्ट है, और मूल रूप से विचार है कि 14 00:00:43,310 --> 00:00:46,790 हम एक आवेदन कर रहे हैं, और हम एक डेटाबेस से डेटा प्राप्त करना चाहते हैं, 15 00:00:46,790 --> 00:00:49,570 लेकिन हम सीधे करने के लिए डेटाबेस क्वेरी के लिए नहीं करना चाहती. 16 00:00:49,570 --> 00:00:52,710 इसके बजाय हम मध्यम आदमी, एपीआई के इस तरह के माध्यम से जाना चाहते हैं. 17 00:00:52,710 --> 00:00:55,440 उस के पीछे विचार चार्ट पर 2 और 3 संख्या 18 00:00:55,440 --> 00:00:57,750 रहे हैं और दोनों के लिए बहुत ही जटिल और गन्दा होने जा रहा है. 19 00:00:57,750 --> 00:00:59,960 दूसरे शब्दों में, जब एपीआई डेटाबेस क्वेरी है, 20 00:00:59,960 --> 00:01:03,300 यह शायद एसक्यूएल टेबल और सामान की तरह के सभी का उपयोग किया जा रहा है, 21 00:01:03,300 --> 00:01:05,489 और हम इसके बारे में एक सा CS50 में सीखा है, लेकिन कुल मिलाकर, 22 00:01:05,489 --> 00:01:07,590 तुमने देखा है कि यह एक दर्द का एक सा है. 23 00:01:07,590 --> 00:01:10,590 यह बहुत, बहुत जटिल है और गंदा हो जाता है, खासकर जब आप कर रहे हैं 24 00:01:10,590 --> 00:01:12,530 जटिल प्रश्नों और उस चीज़ की तरह. 25 00:01:12,530 --> 00:01:15,960 >> क्या हम वास्तव में चाहते हैं उपयोगी और आसान तरीका के कुछ प्रकार है 26 00:01:15,960 --> 00:01:19,780 कि डेटा प्राप्त करने के लिए, और है कि चार्ट पर 1 और संख्या 4 के पीछे विचार है. 27 00:01:19,780 --> 00:01:23,600 दूसरे शब्दों में, हम वास्तव में एक सरल एपीआई बताओ कि क्या हमारे लिए प्राप्त करने के लिए जिस तरह से चाहते हैं 28 00:01:23,600 --> 00:01:27,760 और कि डेटा वापस लाने के लिए एक बहुत ही सरल तरीका है. 29 00:01:27,760 --> 00:01:33,020 एक मुख्य रास्ता है कि उस डेटा आमतौर पर भेज दिया जाता है और प्राप्त है, 30 00:01:33,020 --> 00:01:36,490 जो JSON, या जावास्क्रिप्ट वस्तु संकेतन है. 31 00:01:36,490 --> 00:01:40,370 यह एक छोटा सा के रूप में कैसे आप एपीआई के लिए अनुरोध भेजने के लिए के रूप में दूर से भिन्न हो सकते हैं. 32 00:01:40,370 --> 00:01:43,210 दूसरे शब्दों में, यदि आप डेटा की कुछ निश्चित राशि चाहते हैं, 33 00:01:43,210 --> 00:01:46,670 आप एपीआई कि डेटा एक छोटा सा भिन्न हो सकते हैं कैसे बता. 34 00:01:46,670 --> 00:01:49,210 आमतौर पर यह नेटवर्क अनुरोध के कुछ प्रकार बनाने शामिल है. 35 00:01:49,210 --> 00:01:53,130 दूसरे शब्दों में, यूआरएल के कुछ प्रकार तक पहुँचने के लिए एपीआई बताने जा रहा है 36 00:01:53,130 --> 00:01:56,190 वास्तव में आप क्या चाहते हैं, लेकिन डेटा लगभग हमेशा वापस भेज दिया जाता है, 37 00:01:56,190 --> 00:01:59,530 दूसरे शब्दों में, JSON में नंबर 4. 38 00:01:59,530 --> 00:02:01,030 >> JSON क्या ठीक है? 39 00:02:01,030 --> 00:02:03,030 जैसा कि मैंने कहा, जावास्क्रिप्ट वस्तु संकेतन. 40 00:02:03,030 --> 00:02:07,090 यह मूल रूप से डेटा संचारण और प्राप्त करने के लिए वैश्विक मानक है. 41 00:02:07,090 --> 00:02:11,410 विचार यह है कि आप इन चीजों की 3 श्रेणियों है. 42 00:02:11,410 --> 00:02:13,540 आप arrays, HashMaps, और पुरातन है. 43 00:02:13,540 --> 00:02:16,580 Arrays और HashMaps आप एक छोटा सा CS50 में देखा है, 44 00:02:16,580 --> 00:02:19,870 लेकिन आप की तरह वे क्या कर रहे हैं एक बहुत ही सख्त अर्थ मिल गया है. 45 00:02:19,870 --> 00:02:22,780 दूसरे शब्दों में, आप arrays के साथ पता है कि वे बाध्य लिखें कर रहे हैं, 46 00:02:22,780 --> 00:02:26,560 तो आप केवल एक प्रकार की तरह कि पूरे सरणी भर जाता है. 47 00:02:26,560 --> 00:02:29,310 JSON उस चीज़ की तरह के साथ एक बहुत अधिक उदार है. 48 00:02:29,310 --> 00:02:33,590 मूल रूप से विचार है कि आप इस वस्तु का निर्माण, 49 00:02:33,590 --> 00:02:36,270 जो किसी भी इन बातों 3 से बना जा सकता है 50 00:02:36,270 --> 00:02:39,470 और उनमें से कई लोगों में से एक बना जा सकता है, और वे नीडिंत किया जा सकता है. 51 00:02:39,470 --> 00:02:42,110 >> JSON का एक उदाहरण के यहाँ तरह है, 52 00:02:42,110 --> 00:02:47,910 जो इन घुंघराले कोष्ठक यहाँ अपने hashmap का प्रतिनिधित्व करते हैं, 53 00:02:47,910 --> 00:02:51,400 और मूल रूप से एक hashmap कुंजी के कुछ प्रकार से एक मानचित्रण 54 00:02:51,400 --> 00:02:53,340 मूल्य के कुछ प्रकार के लिए. 55 00:02:53,340 --> 00:02:56,440 आप यहाँ देख सकते हैं कि हम गुण कुंजी है, 56 00:02:56,440 --> 00:02:59,600 और कहा कि एक सरणी पर मानचित्रण है, जो इस पूरी बात है. 57 00:02:59,600 --> 00:03:04,120 हम hashmap का एक और तत्व है, जो इस कुंजी isAwesome है देखते हैं, 58 00:03:04,120 --> 00:03:07,370 जो सच की एक आदिम मूल्य दूसरे शब्दों में, नक्शे, एक बूलीयन. 59 00:03:07,370 --> 00:03:09,420 Primitives तार हो सकता है. वे integers हो सकता है. 60 00:03:09,420 --> 00:03:11,960 वे bools हो सकता है, उस तरह कुछ भी कर सकते हैं. 61 00:03:11,960 --> 00:03:18,410 और तुम इस सरणी की सामग्री को देखने के लिए कि गुण अंक में 2 तार, 62 00:03:18,410 --> 00:03:20,050 आत्म - समान और अद्भुत है. 63 00:03:20,050 --> 00:03:27,410 उन JSON के 2 गुण हैं, और हम देखते कि JSON भयानक है. 64 00:03:27,410 --> 00:03:30,060 कि देखो एक छोटे से अधिक बारीकी से मैं का निर्माण किया जा रहा हूँ 65 00:03:30,060 --> 00:03:32,870 JSON के एक अधिक जटिल उदाहरण यहाँ. 66 00:03:32,870 --> 00:03:37,000 >> चलो एक सरणी के साथ शुरू करने के लिए, उदाहरण के लिए, सिर्फ एक खाली सरणी. 67 00:03:37,000 --> 00:03:39,180 लेकिन यह है कि बोरिंग की तरह है, इसलिए हम एक बिट इसे भरने के लिए जा रहे हैं, 68 00:03:39,180 --> 00:03:43,420 और जैसा कि मैंने कहा, JSON में arrays बाध्य प्रकार के होते हैं, 69 00:03:43,420 --> 00:03:46,400 इसलिए हम भी यहाँ एक स्ट्रिंग हो सकता है, जो उच्च है, 70 00:03:46,400 --> 00:03:49,330 और कहा कि कि सरणी के एक और तत्व है. 71 00:03:49,330 --> 00:03:53,450 और इसी तरह, हम यहाँ एक hashmapping जोड़ने के लिए, हो सकता है जो कुछ मैपिंग किया जा रहा है. 72 00:03:53,450 --> 00:04:00,470 यह नाम से स्ट्रिंग बिली एक मानचित्रण किया जा रहा है. 73 00:04:00,470 --> 00:04:04,590 हम बिली के नाम से एक मानचित्रण है, और हम एक मानचित्रण 74 00:04:04,590 --> 00:04:10,860 नीले रंग के लिए पसंदीदा रंग. 75 00:04:10,860 --> 00:04:12,700 वह मूल रूप से JSON का एक अच्छा उदाहरण है. 76 00:04:12,700 --> 00:04:18,160 यह किस तरह का हो जाता है में वूप्स, इसे के विभिन्न भागों की एक अल्पविराम वहाँ सभी की जरूरत है. 77 00:04:18,160 --> 00:04:21,140 फिर, यह सब पर बाध्य नहीं किया प्रकार है, तो आप किसी भी तरह के प्रकार हो सकता है 78 00:04:21,140 --> 00:04:24,710 आप कुछ भी अंदर करना चाहते हैं, और विचार है यह स्व - समान है. 79 00:04:24,710 --> 00:04:28,830 दूसरे शब्दों में, यह सही यहाँ एक JSON वस्तु है, के रूप में इस पूरी बात है, 80 00:04:28,830 --> 00:04:33,200 बस के रूप में है, तो आप कर सकते हैं एक आदिम एक वस्तु हो, 81 00:04:33,200 --> 00:04:35,680 एक सरणी एक वस्तु हो या एक HashMap एक वस्तु हो. 82 00:04:35,680 --> 00:04:40,270 >> के रूप में आप किस तरह कर सकते हैं, JSON सच है, वास्तव में उपयोगी है कि यह इतनी बहुमुखी है. 83 00:04:40,270 --> 00:04:45,860 आप किसी भी संभव डेटा हो सकता है कि आप JSON में संग्रहीत गर्भ धारण कर सकते हैं. 84 00:04:45,860 --> 00:04:47,900 कि यह एक बहुत अच्छा भाषा एपीआई के साथ उपयोग बनाता है 85 00:04:47,900 --> 00:04:50,770 क्योंकि यह बहुत ज्यादा मतलब है कि कोई फर्क नहीं पड़ता कि क्या डेटा है कि आप चाहते हैं 86 00:04:50,770 --> 00:04:54,270 वहाँ के लिए कुछ करने के लिए यह JSON में वापस मिल रहा होने जा रहा है. 87 00:04:54,270 --> 00:04:58,600 कुछ गुणों है कि JSON विशेष रूप से इस तरह की बात के लिए अच्छा बनाने. 88 00:04:58,600 --> 00:05:02,270 जैसा कि आप देख सकते हैं, चीजों की एक बहुत की तुलना में है कि आप CS50 में किया गया है के साथ काम कर रहा 89 00:05:02,270 --> 00:05:06,040 यह अपेक्षाकृत बहुत पढ़ने के लिए और भी बहुत आसान लिखना आसान है. 90 00:05:06,040 --> 00:05:09,700 आप यह बाहर इंडेंट अगर आप चाहते हैं, जैसे कि मुझे लगता है कि उदाहरण में कर रहा था, 91 00:05:09,700 --> 00:05:12,990 जो आप एक अच्छी, सुंदर संस्करण है कि आप वास्तव में अच्छी तरह से देख सकते हैं देता है. 92 00:05:12,990 --> 00:05:17,150 लेकिन इसके अलावा, यह भी पढ़ने में आसान और एक कंप्यूटर के लिए लिखना. 93 00:05:17,150 --> 00:05:19,870 दूसरे शब्दों में, यह पार्स करने के लिए आसान है और आसान करने के लिए सांकेतिक शब्दों में बदलना, 94 00:05:19,870 --> 00:05:23,820 जिसका मतलब है कि यह बहुत तेजी के रूप में अब तक डेटा पढ़ने के रूप में संबंध है, 95 00:05:23,820 --> 00:05:26,460 और JSON वास्तव में जल्दी से उत्पन्न किया जा सकता है. 96 00:05:26,460 --> 00:05:30,300 >> यह भी बहुत आसान करने के लिए JSON के विभिन्न भागों और उस चीज़ की तरह का उपयोग कर सकते हैं. 97 00:05:30,300 --> 00:05:33,320 यह अच्छा है, और इसके अलावा, तथ्य यह है कि यह स्व - समान है, 98 00:05:33,320 --> 00:05:36,090 दूसरे शब्दों में, तथ्य यह है कि आप JSON JSON भीतर JSON के भीतर हो सकता है 99 00:05:36,090 --> 00:05:40,040 भंडारण के डेटा के लिए वास्तव में अच्छा है. 100 00:05:40,040 --> 00:05:45,490 दूसरा हिस्सा है कि आम तौर पर एपीआई के साथ काम करने में बहुत उपयोगी है jQuery है. 101 00:05:45,490 --> 00:05:49,290 आप जावास्क्रिप्ट का एक छोटा सा सीखा है, जो एक अच्छा तरीका है 102 00:05:49,290 --> 00:05:53,710 एक वेबसाइट के भीतर HTML और सीएसएस हेरफेर. 103 00:05:53,710 --> 00:05:57,190 लेकिन यह एक तरह से सादे जावास्क्रिप्ट में कोड के लिए एक दर्द हो सकता है, 104 00:05:57,190 --> 00:05:59,810 मुख्यतः क्योंकि जावास्क्रिप्ट एक वास्तव में वाचाल भाषा है. 105 00:05:59,810 --> 00:06:03,020 आप वाक्यविन्यास के एक बहुत कुछ सीखना है, और सिर्फ बातें करने के लिए बहुत सरल 106 00:06:03,020 --> 00:06:07,590 यह कोड का एक बहुत लेता है, तो jQuery जावास्क्रिप्ट के लिए एक पुस्तकालय है. 107 00:06:07,590 --> 00:06:09,800 दूसरे शब्दों में, यह एक जावास्क्रिप्ट फ़ाइल है कि आप लोड कर सकते हैं 108 00:06:09,800 --> 00:06:12,730 और तो jQuery कार्यों का उपयोग करने के लिए कुछ बातें करते हैं. 109 00:06:12,730 --> 00:06:15,670 और jQuery मूल रूप से अपने जीवन एक पूरी बहुत आसान बना देता है. 110 00:06:15,670 --> 00:06:20,390 यह सरल क्या जावास्क्रिप्ट में लाइनों के सैकड़ों jQuery में कुछ लाइनों के नीचे ले जाएगा. 111 00:06:20,390 --> 00:06:24,430 >> यह विशेष रूप से उपयोगी है यदि आप एपीआई का उपयोग कर रहे हैं, क्योंकि आम तौर पर 112 00:06:24,430 --> 00:06:27,600 कैसे आप APIs तक पहुँचने हो जाएगा AJAX अनुरोध करके है, 113 00:06:27,600 --> 00:06:30,130 और मेरा मानना ​​है कि दाऊद व्याख्यान में उल्लेख किया गया है कि AJAX अनुरोध 114 00:06:30,130 --> 00:06:33,120 आम तौर पर कर रहे हैं जब आप सर्वर के कुछ प्रकार के लिए एक नेटवर्क का अनुरोध कर रहे हैं 115 00:06:33,120 --> 00:06:37,760 और वापस डेटा के कुछ प्रकार हो रही है और एक पेज तत्क्षण अद्यतन. 116 00:06:37,760 --> 00:06:41,840 जबकि सादे जावास्क्रिप्ट में है कि लाइनों के पागल संख्या ले जाएगा 117 00:06:41,840 --> 00:06:44,620 हेडर के सभी को मान्य है और सामान की तरह के सभी करना, 118 00:06:44,620 --> 00:06:46,810 jQuery वास्तव में एक सरल AJAX समारोह बुलाया है, 119 00:06:46,810 --> 00:06:51,760 और तुम सब AJAX में क्या है पैरामीटर है कि आप के लिए एपीआई देना चाहता हूँ दे रहा है, 120 00:06:51,760 --> 00:06:56,830 एपीआई के स्थान और विकल्प है कि आप कॉन्फ़िगर करना चाहते हैं किसी भी अतिरिक्त तरह. 121 00:06:56,830 --> 00:07:02,480 यह वास्तव में, वास्तव में अच्छा है और इस तरह की बात के लिए बहुत ही उपयोगी है. 122 00:07:02,480 --> 00:07:06,970 वह सब हम APIs में हमारे हाथ गंदे हो रही शुरू करने की जरूरत है. 123 00:07:06,970 --> 00:07:10,220 >> मैं कुछ उदाहरण लाने के लिए और उनके विभिन्न गुणों का पता लगाने के लिए जा रहा हूँ 124 00:07:10,220 --> 00:07:13,150 और क्यों वे अलग - अलग प्रकार की बातों के लिए उपयोगी हो. 125 00:07:13,150 --> 00:07:15,570 पहली बात मैं वास्तव में तुम्हें दिखाता हूँ कुछ है कि मैं पर काम कर रहा है 126 00:07:15,570 --> 00:07:18,310 मेरे अनुसंधान प्रयोगशाला में है जो एक Ngram Viewer है, 127 00:07:18,310 --> 00:07:23,270 और मूलतः एक Ngram व्यूअर के विचार है आप शब्द के कुछ प्रकार के लिए खोज कर सकते हैं 128 00:07:23,270 --> 00:07:28,840 या वाक्यांश और देखते हैं कि कितनी बार यह समय के साथ एक पाठ के कुछ सेट में दिखाई दिया है. 129 00:07:28,840 --> 00:07:33,160 इस उदाहरण यहाँ बच्चों के इस डेटा सेट है 130 00:07:33,160 --> 00:07:36,480 कि न्यू यॉर्क में 1920 और 2000 के बीच पैदा हुए थे. 131 00:07:36,480 --> 00:07:40,090 हम, उदाहरण के लिए नाम जेनिफर के लिए खोज कर सकते हैं, 132 00:07:40,090 --> 00:07:44,400 और हम देखते हैं कि 1960 के दशक पूर्व यह सच है कि सभी ज्यादा इस्तेमाल नहीं किया गया था, 133 00:07:44,400 --> 00:07:48,900 और फिर जैसा कि हम बाद के वर्षों में इसे पाने के लिए बनने के लिए अधिक से अधिक प्रयोग किया जाता है. 134 00:07:48,900 --> 00:07:53,680 हम भी तुलना करते हैं, कर सकते हैं, इसलिए यदि हम जेनिफर की तुलना, उदाहरण के लिए, थॉमस, 135 00:07:53,680 --> 00:07:56,520 हम देख सकते हैं कि थॉमस बहुत प्रचलित इतिहास भर में किया गया है, 136 00:07:56,520 --> 00:07:58,780 जेनिफर जबकि एक और अधिक हाल ही नाम है. 137 00:07:58,780 --> 00:08:00,590 हम उस तरह की बात कर सकते हैं. 138 00:08:00,590 --> 00:08:02,460 >> यह कैसे आवेदन काम करता है? 139 00:08:02,460 --> 00:08:06,030 असल में, यह एक एपीआई के माध्यम से काम करता है. 140 00:08:06,030 --> 00:08:08,660 दूसरे शब्दों में, हम निश्चित मापदंडों यहाँ है. 141 00:08:08,660 --> 00:08:11,360 हम क्या हम वास्तव में के लिए खोज रहे हैं पैरामीटर है, 142 00:08:11,360 --> 00:08:13,720 जो इन नामों में हैं, और फिर हम कुछ अन्य गुण है, 143 00:08:13,720 --> 00:08:16,570 y अक्ष और एक्स अक्ष की तरह. 144 00:08:16,570 --> 00:08:18,440 आप हम कुछ अलग अलग विकल्प के रूप में दूर के रूप में देख सकते हैं 145 00:08:18,440 --> 00:08:20,860 समय का उपयोग करने के संकल्प और उस चीज़ की तरह. 146 00:08:20,860 --> 00:08:26,700 हम इन विकल्पों के रूप में डेटा क्या हम वास्तव में डेटाबेस से चाहते हैं के रूप में दूर है, 147 00:08:26,700 --> 00:08:29,400 और हम कुछ उपयोगी तरीके में वापस कि डेटा प्राप्त करना चाहते हैं. 148 00:08:29,400 --> 00:08:34,020 आमतौर पर, अगर हम डेटाबेस क्वेरी थे सीधे इसे करने के लिए एक दर्द हो तरह होगा 149 00:08:34,020 --> 00:08:38,970 क्योंकि संभवतः बच्चे के नाम के बारे में इस डेटा किसी डेटाबेस में कहीं रहता है, 150 00:08:38,970 --> 00:08:42,789 और यह वास्तव में इसे मैन्युअल क्वेरी जटिल होगा 151 00:08:42,789 --> 00:08:45,830 और वास्तव में डेटा क्या लौटने के लिए तय है. 152 00:08:45,830 --> 00:08:49,300 दूसरे शब्दों में, हम केवल इस मामले में जेनिफर और थॉमस के बारे में परवाह है, 153 00:08:49,300 --> 00:08:53,410 और हम केवल एक निश्चित धुरी और सामान की तरह के सभी पर के बारे में परवाह है. 154 00:08:53,410 --> 00:08:55,720 >> हम इस के आसपास कैसे मिलता है? 155 00:08:55,720 --> 00:09:01,200 इस एपीआई में एक छोटे से अधिक खुदाई मैं आप इस मंच का एक और उदाहरण दिखाता हूँ 156 00:09:01,200 --> 00:09:04,490 जो एक से थोड़ा अलग डेटा सेट का उपयोग करता है. 157 00:09:04,490 --> 00:09:09,950 इस डेटा सेट के बजाय बच्चे के नाम की जा रही है, वास्तव में सिर्फ पूरे 158 00:09:09,950 --> 00:09:12,460 ओपन लाइब्रेरी के प्रकाशन डेटाबेस प्रिंट, 159 00:09:12,460 --> 00:09:18,410 जो पिछले 100 या तो साल भर में प्रकाशित ग्रंथों की एक विशाल स्रोत है. 160 00:09:18,410 --> 00:09:23,540 विचार है हम लाखों और पाठ के लाखों लोगों के इस compository है, 161 00:09:23,540 --> 00:09:27,420 जो अब हम अलग शब्दों के अंदर और वाक्यांशों के लिए खोज कर सकते हैं 162 00:09:27,420 --> 00:09:30,840 यहाँ एक उदाहरण है कि एक छोटे से पिछले उदाहरण से अलग से भिन्न होता है 163 00:09:30,840 --> 00:09:33,350 मैं तुम्हें दिखाया है, जो हम इन 3 खोज प्रश्नों है, 164 00:09:33,350 --> 00:09:36,290 युद्ध, युद्ध, और युद्ध, जो guerre है के लिए फ्रेंच शब्द. 165 00:09:36,290 --> 00:09:40,380 और हम कुल डेटाबेस के 3 अलग अलग वर्गों के भीतर खोज रहे हैं. 166 00:09:40,380 --> 00:09:45,080 दूसरे शब्दों में, यह पहली क्वेरी में हम केवल संयुक्त राज्य अमेरिका में खोज कर रहे हैं, 167 00:09:45,080 --> 00:09:51,150 ब्रिटेन में केवल 2 एक, और फ्रांस में प्रकाशित काम करता है से केवल 3 में. 168 00:09:51,150 --> 00:09:53,120 हम देखते हैं कुछ दिलचस्प पैटर्न उभरेगा. 169 00:09:53,120 --> 00:09:58,180 उदाहरण के लिए, हम जो सही यहाँ के आसपास देखते हैं 170 00:09:58,180 --> 00:10:02,410 उफ़, मैं अक्ष गड़बड़ एक छोटा सा है, लेकिन आप इस श्रेणी में सही यहाँ देख सकते हैं 171 00:10:02,410 --> 00:10:05,730 नागरिक युद्ध के आसपास अमेरिकी संस्करण में एक बड़ी कील 172 00:10:05,730 --> 00:10:08,340 लेकिन अन्य दो में से एक में एक बड़ी कील इस तरह के, और कहा कि जाहिर है, क्योंकि 173 00:10:08,340 --> 00:10:10,880 अमेरिकी नागरिक युद्ध के उस बिंदु पर हो रहा था. 174 00:10:10,880 --> 00:10:13,890 >> हम कुछ शांत सामान वहाँ देख सकते हैं, 175 00:10:13,890 --> 00:10:17,070 लेकिन क्या हम वास्तव में के बारे में परवाह है कि हम कैसे इस डेटा मिला. 176 00:10:17,070 --> 00:10:21,320 मैं तुम्हें एक छोटा सा में इस एप्लिकेशन में पर्दे के पीछे ले जाऊँगा. 177 00:10:21,320 --> 00:10:24,540 एक साफ चाल है अगर आप साइट के साथ काम कर रहे हैं और किस तरह जानना चाहते हैं 178 00:10:24,540 --> 00:10:27,430 परदे के पीछे क्या हो रहा है, तुम डेवलपर उपकरण खोल सकते हैं. 179 00:10:27,430 --> 00:10:30,200 मैं क्रोम डेवलपर उपकरण का उपयोग करने के लिए जा रहा हूँ, और उन लोगों के लिए मिलता है 180 00:10:30,200 --> 00:10:35,160 आप नियंत्रण, पाली, जम्मू, और कर सकते हैं कि आप JavaScript कंसोल के लिए ले जाता है. 181 00:10:35,160 --> 00:10:37,420 वहाँ कुछ टैब हैं यहाँ. 182 00:10:37,420 --> 00:10:39,680 वे सब अलग अलग परिस्थितियों में बहुत उपयोगी हो सकता है, लेकिन मैं नेटवर्क के बारे में परवाह 183 00:10:39,680 --> 00:10:44,150 टैब अभी, और मैं वास्तव में करने के लिए कि काम पाने के ताज़ा है. 184 00:10:44,150 --> 00:10:50,180 ओह, माफ करना. 185 00:10:50,180 --> 00:10:52,320 यह एक यादृच्छिक उदाहरण देना पसंद है. 186 00:10:52,320 --> 00:10:54,700 ठीक है, हम इस उदाहरण के बजाय फिर से इस्तेमाल करेंगे. 187 00:10:54,700 --> 00:11:01,330 >> विचार है वहाँ इस एपीआई यहाँ है, 188 00:11:01,330 --> 00:11:05,330 और आप देख सकते हैं कि वास्तव में क्या एपीआई लौट रहा है. 189 00:11:05,330 --> 00:11:10,220 यह आवेदन रहा है कि अनुरोध भेजा एपीआई से क्या जाता है वापस हो रही है. 190 00:11:10,220 --> 00:11:13,680 मुझे एक छोटा सा में ज़ूम, 191 00:11:13,680 --> 00:11:18,340 और हम मूल रूप से देखने के लिए यह सिर्फ JSON में महत्वपूर्ण मूल्य जोड़े की एक श्रृंखला है. 192 00:11:18,340 --> 00:11:23,220 दूसरे शब्दों में, हम यहाँ इस hashmap कि मान मैप है. 193 00:11:23,220 --> 00:11:26,440 दूसरे शब्दों में, यह साल मूल्यों के लिए मानचित्रण है. 194 00:11:26,440 --> 00:11:32,600 1765 में जो भी शब्द हम शुरू के लिए खोज 90 बार प्रयोग किया जाता है 195 00:11:32,600 --> 00:11:35,810 1 मिलियन से बाहर है, इसलिए हम इस परिणाम वापस हो रही है. 196 00:11:35,810 --> 00:11:40,280 यह बिल्कुल JSON नहीं है, क्योंकि हम इस छोटे से परिणाम हैडर यहाँ है, 197 00:11:40,280 --> 00:11:45,630 लेकिन नोटिस कि इस पूरे उद्देश्य सिर्फ एक बहुत बड़ी JSON बूँद है. 198 00:11:45,630 --> 00:11:51,070 हम यहाँ एक सरणी जो इस पूरे तत्व शामिल है, 199 00:11:51,070 --> 00:11:55,590 और आपको लगता है कि वहाँ पूरे तत्व समाप्त होता है देखने के लिए, और कर सकते हैं तो हम एक और बड़ा तत्व है 200 00:11:55,590 --> 00:11:59,430 कि सभी तरह से नीचे चला जाता है अंत करने के लिए, और है कि यहाँ समाप्त होता है. 201 00:11:59,430 --> 00:12:02,200 हम में यह 2 वस्तुओं के साथ एक बहुत बड़ा सरणी है, 202 00:12:02,200 --> 00:12:04,630 और उन वस्तुओं में से प्रत्येक के एक HashMap है. 203 00:12:04,630 --> 00:12:07,340 आप उन HashMaps में से प्रत्येक के भीतर देखने के लिए हम एक मानचित्रण 204 00:12:07,340 --> 00:12:12,700 इस सूचकांक में 0 से मूल्य और इस मूल्य एक और hashmap मूल्य, 205 00:12:12,700 --> 00:12:18,360 जो फिर से एक्स अक्ष मान Y अक्ष मूल्यों मानचित्रण है. 206 00:12:18,360 --> 00:12:20,970 >> आप देख सकते हैं JSON थोड़ा थोड़ा जटिल हो जाता है, लेकिन कुल मिलाकर, 207 00:12:20,970 --> 00:12:24,190 यह वास्तव में बहुत उपयोगी है, और यह बहुत आसान है की तुलना का उपयोग 208 00:12:24,190 --> 00:12:27,390 अंकन के अन्य विभिन्न रूपों. 209 00:12:27,390 --> 00:12:30,550 जहाँ तक क्या हम वास्तव में एपीआई के लिए कर रहे हैं डेटा भेजने के रूप में पाने के, 210 00:12:30,550 --> 00:12:34,690 मैं वापस अंत में एक छोटा सा यहाँ से जाने के लिए जा रहा हूँ. 211 00:12:34,690 --> 00:12:39,850 यह बड़ा जावास्क्रिप्ट फ़ाइल है कि वेब अनुप्रयोग की बातचीत के सभी संभाल है, 212 00:12:39,850 --> 00:12:44,810 और इसलिए हम इस के अधिकांश के बारे में परवाह नहीं है, लेकिन हम इसके बारे में कुछ के बारे में परवाह नहीं है. 213 00:12:44,810 --> 00:12:47,410 उदाहरण के लिए, हम इस buildQuery समारोह के बारे में परवाह है, 214 00:12:47,410 --> 00:12:50,670 और इस समारोह का विचार मूल रूप से यह पृष्ठ के चारों ओर देख रहा है, 215 00:12:50,670 --> 00:12:53,750 बाहर figuring क्या उपयोगकर्ता दूसरे शब्दों में क्वेरी करना चाहता है, 216 00:12:53,750 --> 00:12:57,090 उन बक्से, जहां वे इनपुट अपने खोज शब्दों लिया है की जाँच, 217 00:12:57,090 --> 00:13:01,380 अलग वाई और एक्स अक्ष मूल्यों है कि वे चुना है और बात का है कि तरह की जाँच कर रहा है, 218 00:13:01,380 --> 00:13:06,650 और यह करने के लिए इस क्वेरी मूल्य है, जो मैं तो एपीआई के लिए भेज सकते हैं थूक जा रहा है. 219 00:13:06,650 --> 00:13:09,180 >> इस जटिल लग रहा है, और यह बहुत जटिल है 220 00:13:09,180 --> 00:13:18,090 लेकिन मैं क्या में तथ्य यह है, मैं कर रहा हूँ पहले से ही यह करने जा रहा हूँ, जो महान है 221 00:13:18,090 --> 00:13:21,640 यह है कि मैं करने के लिए सांत्वना पाने के लिए ठीक है कि क्वेरी मूल्य मुद्रित करने के लिए जा रहा हूँ 222 00:13:21,640 --> 00:13:28,110 कि इसे बंद करने के लिए एपीआई भेज रहा है. 223 00:13:28,110 --> 00:13:30,870 यह वास्तव में यहीं पर है. क्षमा करें, यह चीजों की एक बहुत outputs. 224 00:13:30,870 --> 00:13:33,690 लेकिन यह है कि हम क्या बारे में परवाह है, इस वस्तु को सही यहाँ. 225 00:13:33,690 --> 00:13:35,300 यह क्वेरी वस्तु है. 226 00:13:35,300 --> 00:13:40,670 दूसरे शब्दों में, यह ठीक है कि वेब आवेदन एपीआई के लिए भेज रहा है, 227 00:13:40,670 --> 00:13:45,730 और तो चलो एक छोटा सा के अंदर लग रही है, और हम देखते हैं कि हम कुछ मूल्यों यहाँ है. 228 00:13:45,730 --> 00:13:48,710 हम देखते हैं कि हम इस गिनती प्रकार है, जो प्रति लाख शब्दों घटनाओं है, 229 00:13:48,710 --> 00:13:51,460 जो वास्तव में है क्या हम यहाँ पर वाई अक्ष में चुना है. 230 00:13:51,460 --> 00:13:53,740 यही कारण है कि वह कहाँ से आ रहा है. 231 00:13:53,740 --> 00:13:58,010 हम एक डेटाबेस मूल्य, जिसका मतलब है कि वहाँ कुछ निश्चित डेटाबेस है 232 00:13:58,010 --> 00:14:01,610 कि इस डेटा में रह रही है, और हम उस डेटा को विशेष रूप से का उपयोग करना चाहते हैं 233 00:14:01,610 --> 00:14:04,950 के रूप में उदाहरण के लिए बच्चे के नाम के डेटा के विरोध. 234 00:14:04,950 --> 00:14:08,320 तो फिर हम इस समूह मूल्य है, 235 00:14:08,320 --> 00:14:12,090 जो कह रहा है कि हम वर्ष द्वारा खोज के रूप में करने का विरोध किया 236 00:14:12,090 --> 00:14:16,030 किसी भी अन्य एक्स अक्ष मान. 237 00:14:16,030 --> 00:14:19,040 तो हम एक तरीका है, जो कुछ APIs कई बातें करते हैं. 238 00:14:19,040 --> 00:14:22,360 दूसरे शब्दों में, इस API भी अन्य प्रकार के डेटा को वापस कर सकते हैं, 239 00:14:22,360 --> 00:14:27,740 लेकिन इस मामले में, हम एक्स अक्ष मूल्यों की है कि वाई अक्ष मूल्यों के मानचित्रण चाहते हैं. 240 00:14:27,740 --> 00:14:30,730 यही है कि क्या यह कह रहा है वहाँ क्या, 241 00:14:30,730 --> 00:14:35,020 और हम इस खोज को सीमा सरणी, जिसमें 2 मूल्यों है. 242 00:14:35,020 --> 00:14:40,720 1 एक यह है कि हम यहाँ क्या देख, जो सभी मान 243 00:14:40,720 --> 00:14:43,020 शीर्ष पर है कि पहले छोटे से बॉक्स के भीतर निहित है. 244 00:14:43,020 --> 00:14:47,570 >> दूसरे शब्दों में, हम शब्द लड़ाई के लिए देखने के लिए चाहते हैं, और हम यह फिल्टर करना चाहते हैं 245 00:14:47,570 --> 00:14:51,920 अमेरिकी साहित्य के भीतर अंग्रेजी ग्रंथों के द्वारा. 246 00:14:51,920 --> 00:14:54,590 हम इस देश है, जो संयुक्त राज्य अमेरिका है. 247 00:14:54,590 --> 00:14:59,130 हम एक भाषा है, जो अंग्रेजी है है, तो हम इन विभिन्न भागों के सभी 248 00:14:59,130 --> 00:15:02,690 कि सभी एपीआई कह रहे हैं कि क्या वास्तव में हम चाहते हैं. 249 00:15:02,690 --> 00:15:04,940 हम नहीं जानते कि क्या डेटा है कि हम वापस पाने के अभी तक है, 250 00:15:04,940 --> 00:15:10,970 लेकिन हम जानते हैं कि डेटा के लिए एक निश्चित रूप ले जा रहा है. 251 00:15:10,970 --> 00:15:13,650 इस उदाहरण जटिल तरफ की तरह है, 252 00:15:13,650 --> 00:15:16,180 और आप जरूरी नहीं कि एक एपीआई के इस परिसर का उपयोग होता है, 253 00:15:16,180 --> 00:15:20,600 लेकिन यह आप और APIs क्या कर सकते हैं की सीमा की सत्ता को दिखाने के लिए है. 254 00:15:20,600 --> 00:15:24,980 दूसरे शब्दों में, एक अपेक्षाकृत सरल प्रश्न प्रणाली का उपयोग कर हम मूल रूप से एक इनपुट बॉक्स 255 00:15:24,980 --> 00:15:29,490 विभिन्न स्थानों में कुछ अन्य चयनकर्ताओं के साथ. 256 00:15:29,490 --> 00:15:32,010 >> मुझे यहाँ से बाहर वापस ज़ूम. 257 00:15:32,010 --> 00:15:37,720 हम कुछ अलग मेटाडाटा चयन के साथ एक इनपुट बॉक्स है, 258 00:15:37,720 --> 00:15:40,610 और हम वाई अक्ष और एक्स अक्ष चयन है. 259 00:15:40,610 --> 00:15:42,830 हम वास्तव में है कि कई क्षेत्रों का नहीं है, 260 00:15:42,830 --> 00:15:46,210 और हम बहुत आसानी से देख हम एपीआई के कुछ प्रकार क्वेरी करने में सक्षम हो सकता है 261 00:15:46,210 --> 00:15:48,510 और डेटा को वापस पाने के लिए और फिर इस चार्ट में डाल दिया, 262 00:15:48,510 --> 00:15:52,080 जो तब के लिए यह एक उपयोगी तरीके से प्रदर्शित करने के लिए जा रहा है. 263 00:15:52,080 --> 00:15:54,970 एक अन्य उदाहरण में लग रही है कि तुम लोगों के लिए थोड़ा और अधिक परिचित हो सकता है 264 00:15:54,970 --> 00:15:56,510 हम फेसबुक के लिए बारी के लिए जा रहे हैं. 265 00:15:56,510 --> 00:15:59,440 फेसबुक के एपीआई Facebook ग्राफ कहा जाता है, 266 00:15:59,440 --> 00:16:04,390 और मूल रूप से है कि क्या इसका मतलब है ही इस विशाल डाटाबेस के रूप में देखता है 267 00:16:04,390 --> 00:16:08,000 विभिन्न भागों है कि सभी एक दूसरे से कुछ रिश्तों के बहुत सारे. 268 00:16:08,000 --> 00:16:11,070 दूसरे शब्दों में, मैं फेसबुक पर एक उपयोगकर्ता कर रहा हूँ, तो मैं एक प्रोफाइल है, 269 00:16:11,070 --> 00:16:14,310 और मैं भी कुछ दोस्त है, और उनमें से हर एक प्रोफाइल है, 270 00:16:14,310 --> 00:16:17,580 और मेरे दोस्तों में से प्रत्येक एक दीवार है, जो उस पर अलग टिप्पणी की है, 271 00:16:17,580 --> 00:16:20,800 और उन टिप्पणियों के प्रत्येक पसंद और बात का है कि तरह के सभी है. 272 00:16:20,800 --> 00:16:23,100 >> फेसबुक के लिए विभिन्न भागों के बहुत सारे है. 273 00:16:23,100 --> 00:16:26,670 यह एक बेहद जटिल एपीआई है, और वहाँ टन आप इसके साथ कर सकते हैं, 274 00:16:26,670 --> 00:16:28,450 लेकिन यह वास्तव में बहुत आसान उपयोग करने के लिए. 275 00:16:28,450 --> 00:16:33,680 मैं / graph.facebook.com billyjanitsch करने के लिए जा रहा द्वारा शुरू करने के लिए जा रहा हूँ, 276 00:16:33,680 --> 00:16:38,430 जो अपने अद्वितीय खाता नाम है, और अपने खाते का नाम भी होगा 277 00:16:38,430 --> 00:16:43,710 कुछ शब्द की तरह अगर आप इसे चुना है, या यह सिर्फ संख्या का एक स्ट्रिंग हो सकता है. 278 00:16:43,710 --> 00:16:46,360 क्या हम वापस पाने के बहुत बुनियादी जानकारी है. 279 00:16:46,360 --> 00:16:50,460 हम देखते हैं कि मैं पहली बार एक नाम, जो बिली, एक अंतिम नाम है, जो Janitsch है. 280 00:16:50,460 --> 00:16:53,370 जो मैंने किया है एक अद्वितीय फेसबुक आईडी है. 281 00:16:53,370 --> 00:16:57,920 आप देखने के लिए कि मैं पुरुष हूँ और मैं मेरी भाषा सेटिंग है कि कर सकते हैं 282 00:16:57,920 --> 00:17:01,290 ब्रिटिश अंग्रेजी. 283 00:17:01,290 --> 00:17:03,490 दूसरे शब्दों में, हम बहुत ही बुनियादी जानकारी यहाँ देख रहे हैं. 284 00:17:03,490 --> 00:17:08,670 यह बहुत ज्यादा नहीं है, लेकिन यह हमें वहाँ क्या है की एक विचार दे. 285 00:17:08,670 --> 00:17:10,849 >> हम उदाहरण के लिए एक ही बात दाऊद Malan करने के लिए कर सकते हैं. 286 00:17:10,849 --> 00:17:13,599 मुझे लगता है कि उसका नाम dmalan है. 287 00:17:13,599 --> 00:17:16,369 हम देखते हैं डेविड Malan एक अद्वितीय पहचान है. 288 00:17:16,369 --> 00:17:19,300 वह एक नाम, प्रथम नाम, मध्य नाम, अंतिम नाम है. 289 00:17:19,300 --> 00:17:24,210 हमें यह भी देखना है कि वह पुरुष है और उसकी भाषा अमेरिका अंग्रेजी सेट है. 290 00:17:24,210 --> 00:17:26,869 दूसरे शब्दों में, हम बहुत बुनियादी जानकारी यहाँ देख रहे हैं. 291 00:17:26,869 --> 00:17:28,860 अब, क्या होता है अगर हम कुछ और करने के लिए बाहर की जाँच करने की कोशिश? 292 00:17:28,860 --> 00:17:33,060 चलो कहते हैं कि मैं क्या दाऊद Malan Facebook पर पसंद किया गया है में दिलचस्पी रहा हूँ. 293 00:17:33,060 --> 00:17:36,860 मैं पसंद / कर सकते हैं. अब हम एक समस्या में भाग लिया है. 294 00:17:36,860 --> 00:17:39,280 हम त्रुटि के कुछ प्रकार कि एक पहुँच टोकन का कहना मिल गया है 295 00:17:39,280 --> 00:17:41,660 इस संसाधन के लिए अनुरोध करने के लिए आवश्यक है. 296 00:17:41,660 --> 00:17:44,730 लेकिन अगर आप इसके बारे में सोचते हैं, कि वास्तव में समझ में आता है क्योंकि यह अजीब होगा 297 00:17:44,730 --> 00:17:47,830 अगर आप फेसबुक के डेटाबेस के हर एक भाग का उपयोग कर सकता है 298 00:17:47,830 --> 00:17:50,170 सिर्फ सरल एपीआई के कुछ प्रकार से, है ना? 299 00:17:50,170 --> 00:17:56,040 दूसरे शब्दों में, संभवतः आपकी जानकारी किसी को भी, जो यह चाहता है के द्वारा नहीं पहुँचा जा सकता है. 300 00:17:56,040 --> 00:17:58,330 >> इस त्रुटि को ठीक है कि क्या मतलब है. 301 00:17:58,330 --> 00:18:03,630 कुछ APIs कुछ अनुमतियाँ क्रम में करने के लिए अपने डेटा का उपयोग करने की आवश्यकता होती है. 302 00:18:03,630 --> 00:18:06,940 और फेसबुक जैसी एक भी अधिक उन्नत एपीआई, 303 00:18:06,940 --> 00:18:09,840 कुछ अनुमतियाँ कुछ बातें करने की आवश्यकता होगी. 304 00:18:09,840 --> 00:18:12,650 मैं डेविड Malan के बारे में इस बुनियादी जानकारी देख सकते हैं. 305 00:18:12,650 --> 00:18:15,950 मैं देख सकता हूँ कि वह पुरुष है और कहा कि वह अमेरिका में रहती है, 306 00:18:15,950 --> 00:18:19,270 लेकिन मैं सच है कि पिछले कुछ भी नहीं देख सकते हैं. 307 00:18:19,270 --> 00:18:23,050 अब के लिए इस के आसपास मिल, फेसबुक यह अच्छा उपकरण है 308 00:18:23,050 --> 00:18:27,690 जो ग्राफ एपीआई एक्सप्लोरर है, और कि का विचार यह है कि आप की तरह कर सकते हैं 309 00:18:27,690 --> 00:18:31,880 अपने स्वयं के खाते के आधार पर खुद के लिए अनुमति 310 00:18:31,880 --> 00:18:35,680 और फिर बातों है कि विशेष रूप से अपना खाता देख सकते हैं देखने के लिए. 311 00:18:35,680 --> 00:18:45,120 उदाहरण के लिए, अगर मैं graph.facebook.com/billyjanitsch/likes- 312 00:18:45,120 --> 00:18:53,510 वूप्स, मुझे लगता है कि मैं यहाँ मेरे टोकन revalidate है. 313 00:18:53,510 --> 00:18:55,950 ठीक है. 314 00:18:55,950 --> 00:19:01,740 यदि मुझे लगता है कि फिर से करते हैं, महान, अब मैं देख रहा हूँ कि मैं इस वस्तु को वापस मिल 315 00:19:01,740 --> 00:19:06,300 जो कहते हैं कि मैं पूल नूडल्स, जो श्रेणी खेल और खिलौने की तरह है. 316 00:19:06,300 --> 00:19:08,620 मैं walruses, जो श्रेणी पशु हैं पसंद है. 317 00:19:08,620 --> 00:19:10,180 ये मेरी वास्तविक पसंद कर रहे हैं. 318 00:19:10,180 --> 00:19:13,280 वे शर्मनाक की तरह कर रहे हैं. 319 00:19:13,280 --> 00:19:16,090 >> लेकिन हम देख सकते हैं कि इस डेटा के सभी JSON में लौट रहा है. 320 00:19:16,090 --> 00:19:18,160 यह बहुत पठनीय है. 321 00:19:18,160 --> 00:19:20,970 दूसरे शब्दों में, हम एक सरणी के कुछ प्रकार के डेटा के इस मैपिंग, 322 00:19:20,970 --> 00:19:25,220 और इस सरणी के प्रत्येक तत्व एक hashmap जो नक्शे 323 00:19:25,220 --> 00:19:28,530 एक तरह के नाम और एक तरह की श्रेणी. 324 00:19:28,530 --> 00:19:31,240 प्रत्येक तरह एक अद्वितीय पहचान है. 325 00:19:31,240 --> 00:19:34,510 वहाँ डेटा है कि हम प्राप्त कर सकते हैं के विभिन्न चीजों के सभी प्रकार के कर रहे हैं, 326 00:19:34,510 --> 00:19:37,980 और अगर आप एक CS50 अंतिम परियोजना के लिए फेसबुक एपीआई का उपयोग करने में रुचि रखते हैं 327 00:19:37,980 --> 00:19:40,720 या कुछ भी करने के लिए की तरह है कि यह वास्तव में काफी साध्य है. 328 00:19:40,720 --> 00:19:44,260 असल में कैसे आप प्रमाणीकरण बात के आसपास मिलता है 329 00:19:44,260 --> 00:19:48,030 एक OAuth बुलाया प्रणाली, या ओपन प्रमाणीकरण का उपयोग करता है, 330 00:19:48,030 --> 00:19:52,870 और मैं इसे पाने के लिए अब नहीं करना चाहती क्योंकि OAuth या विभिन्न प्रकार 331 00:19:52,870 --> 00:19:56,060 प्रमाणीकरण के लिए अलग APIs के बीच एक बहुत भिन्न हो जाता है, 332 00:19:56,060 --> 00:19:58,320 इसलिए मैं हर एक पर एक लंबे समय जा रहा खर्च कर सकते हैं, 333 00:19:58,320 --> 00:20:01,170 लेकिन वे वास्तव में बहुत स्पष्ट कर रहे हैं. 334 00:20:01,170 --> 00:20:04,050 >> यदि आप गूगल Facebook एपीआई यह बहुत पठनीय है. 335 00:20:04,050 --> 00:20:06,670 वहाँ एक पूरे कल्पना है. 336 00:20:06,670 --> 00:20:10,210 उदाहरण के लिए, इस Facebook एपीआई के लिए दस्तावेज है, 337 00:20:10,210 --> 00:20:14,170 और आप देखने के लिए मैं प्रयोक्ता पेज पर हूँ, तो मैं सभी चीजों के विभिन्न प्रकार के बारे में सीख सकते हैं 338 00:20:14,170 --> 00:20:17,170 कि जहाँ तक डेटा प्राप्त करने के लिए उपलब्ध हैं 339 00:20:17,170 --> 00:20:21,550 और भी अलग अनुमति है कि मैं क्रम में उन तक पहुँचने की जरूरत है. 340 00:20:21,550 --> 00:20:25,470 जैसा कि हमने देखा है, हम अनुमतियाँ की जरूरत नहीं करने के लिए नाम या लिंग का उपयोग करते हैं, 341 00:20:25,470 --> 00:20:29,380 लेकिन परे है कि हम ज्यादातर चीजों के लिए अनुमति की जरूरत नहीं है. 342 00:20:29,380 --> 00:20:33,040 इस पेज या बल्कि, इस वेबसाइट भी आप बता कैसे पाने के लिए होगा 343 00:20:33,040 --> 00:20:35,640 एक टोकन करने के लिए अपने आप को प्रमाणित करने में सक्षम होना. 344 00:20:35,640 --> 00:20:39,290 अधिकांश प्रमाणीकरण प्रणाली टोकन के कुछ प्रकार का उपयोग करें 345 00:20:39,290 --> 00:20:42,880 जहाँ आप इस अद्वितीय मूल्य है, जो वास्तव में एक लंबा और यादृच्छिक स्ट्रिंग है, 346 00:20:42,880 --> 00:20:46,240 और कहा कि जिस तरह से वे अनुरोध है कि आप के साथ कर रहे हैं जोड़ सकते हैं. 347 00:20:46,240 --> 00:20:50,560 दूसरे शब्दों में, वे जानते हैं कि आप अपने डेटा के साथ संदिग्ध कुछ भी नहीं कर रहे हैं. 348 00:20:50,560 --> 00:20:53,340 वे जानते हैं कि वास्तव में क्या तुम हो रही है. 349 00:20:53,340 --> 00:20:56,180 वे यह भी जानते हैं कि आप कि जानकारी को देखने की अनुमति है. 350 00:20:56,180 --> 00:20:59,110 >> यदि आप कर दिया है एक Facebook app और अपने app कुछ उपयोगकर्ताओं है, 351 00:20:59,110 --> 00:21:03,380 और उन उपयोगकर्ताओं की अनुमति दी है कि एप्लिकेशन को अपने प्रोफाइल के कुछ भागों का उपयोग करने के लिए, 352 00:21:03,380 --> 00:21:07,790 तो जो कुछ भी API कुंजी या टोकन है कि कि अनुप्रयोग का उपयोग कर रहा है 353 00:21:07,790 --> 00:21:11,090 उन उपयोगकर्ताओं के लिए डेटा का उपयोग करने में सक्षम हो जाएगा. 354 00:21:11,090 --> 00:21:13,780 इस जटिल लग सकता है, लेकिन यह भी बुरा नहीं है, 355 00:21:13,780 --> 00:21:16,810 और यदि आप Facebook का उपयोग करना चाहते हैं मैं अत्यधिक की सिफारिश करेंगे कि 356 00:21:16,810 --> 00:21:18,990 अपने एपीआई के साथ खेलने के आसपास पर विचार करें. 357 00:21:18,990 --> 00:21:21,610 यह बहुत अच्छा है, और आप इसके साथ अलग अलग चीजों का एक बहुत कुछ कर सकते हैं. 358 00:21:21,610 --> 00:21:24,880 यदि उपयोगकर्ता आप इन अनुमतियों अनुदान तुम भी एपीआई के लिए वापस जा सकते हैं 359 00:21:24,880 --> 00:21:28,820 और कहते हैं कि मैं वास्तव में इस उपयोगकर्ता की दीवार के लिए पोस्ट करना चाहते हैं, या मैं उन्हें एक फोटो पोस्ट करना चाहते हैं, 360 00:21:28,820 --> 00:21:32,390 और यही कारण है कि अपने समाचार फ़ीड पर आप कभी कभी उन कष्टप्रद बातें मिलेगा 361 00:21:32,390 --> 00:21:37,840 कह रही है अपने दोस्त अजीब साइट या ऐसा कुछ के कुछ प्रकार पर इस वीडियो देखा है. 362 00:21:37,840 --> 00:21:43,120 ऐसा इसलिए है क्योंकि कि app है कि व्यक्ति की दीवार पर पोस्ट करने के लिए उपयोग प्रदान किया गया है. 363 00:21:43,120 --> 00:21:48,350 विचार समग्र, फेसबुक एपीआई सुंदर, लेकिन यह भी जटिल है वास्तव में उपयोगी है. 364 00:21:48,350 --> 00:21:53,220 निश्चित रूप से बाहर की जाँच अगर आप अभी भी एक अंतिम परियोजना के लिए देख रहे हैं लायक है. 365 00:21:53,220 --> 00:21:57,930 >> एपीआई के एक अन्य कमरे कि मैं जा रहा हूँ CS50 APIs है. 366 00:21:57,930 --> 00:22:00,070 मुझे यहाँ में ज़ूम. 367 00:22:00,070 --> 00:22:03,390 CS50 वास्तव में एक साथ एपीआई की एक पूरी श्रृंखला डाल 368 00:22:03,390 --> 00:22:07,080 है कि आप एक अंतिम परियोजना के लिए या बस कुछ भी है कि आप कर रहे हैं के लिए उपयोग कर सकते हैं. 369 00:22:07,080 --> 00:22:12,830 और वे ज्यादातर हार्वर्ड संबंधित, और वे HUDS मेनू के हिसाब से बदलती है, 370 00:22:12,830 --> 00:22:17,780 उदाहरण के लिए इस हार्वर्ड घटनाक्रम एपीआई के लिए, जो आपको सूचित करेंगे की एक सूची का उपयोग 371 00:22:17,780 --> 00:22:21,290 अलग अलग घटनाओं है कि हार्वर्ड में जा रहे हैं और बात का है कि तरह. 372 00:22:21,290 --> 00:22:24,510 और इसलिए हम इनमें से किसी एक पर क्लिक करें और इसके लिए एक कल्पना कर सकते हैं, 373 00:22:24,510 --> 00:22:28,090 जो आप किसी भी एपीआई के लिए खोजने के लिए सक्षम हो सकता है, और विचार है 374 00:22:28,090 --> 00:22:33,920 यह आपको पता है, एक, विशेष रूप एपीआई से अनुरोध क्या है और कैसे यह अनुरोध. 375 00:22:33,920 --> 00:22:37,370 दूसरे शब्दों में, यदि मैं सभी घटनाओं है कि कल क्या हो रहा है 376 00:22:37,370 --> 00:22:42,550 तो मैं स्पष्ट रूप से यह है कि मैं चाहता हूँ एक निश्चित प्रारूप में उस तारीख देने के लिए मिल गया है, 377 00:22:42,550 --> 00:22:46,030 और बी, यह मुझे बताओ कि क्या वास्तव में यह मेरे लिए वापस देने के लिए जा रहा है. 378 00:22:46,030 --> 00:22:48,590 यह कहना होगा, मैं आपको इस JSON वस्तु वापस जा रहा हूँ, 379 00:22:48,590 --> 00:22:50,960 या आप की तरह देख सकते हैं, वहाँ अलग स्वरूप हैं. 380 00:22:50,960 --> 00:22:54,050 >> तुम भी एक CSV के रूप में डेटा को वापस कर सकते हैं, उदाहरण के लिए,. 381 00:22:54,050 --> 00:22:57,620 लेकिन तुम्हें पता है कि कैसे उस डेटा को देखने के लिए जब आप इसे वापस ले जा रहा है 382 00:22:57,620 --> 00:23:00,610 तो आप इसके साथ कुछ बातें करने की उम्मीद कर सकते हैं. 383 00:23:00,610 --> 00:23:07,240 हम नीचे स्क्रॉल और देख सकते हैं, उदाहरण के लिए, अगर हम एपीआई क्वेरी करना चाहते हैं 384 00:23:07,240 --> 00:23:11,500 एक कैलेंडर मिलता है, तो हम इस विशेष URL का उपयोग कर सकते हैं 385 00:23:11,500 --> 00:23:16,480 और यह जो डेटा है कि हम वास्तव में चाहते हो जा रहे हैं कुछ मानकों दे. 386 00:23:16,480 --> 00:23:19,540 और इसी तरह, अगर हम एक निश्चित प्रारूप में डेटा वापस चाहते हैं, 387 00:23:19,540 --> 00:23:23,790 तो हम यह पूछने के लिए एक CSV में डेटा का उत्पादन कर सकते हैं, 388 00:23:23,790 --> 00:23:27,700 और है कि सिर्फ एक पैरामीटर है कि हम एपीआई गुजर रहे हैं. 389 00:23:27,700 --> 00:23:29,210 शांत करने के लिए बातें करते हैं के बहुत सारे. 390 00:23:29,210 --> 00:23:32,550 मैं निश्चित रूप से बाहर CS50 APIs की जाँच की सिफारिश करेंगे. 391 00:23:32,550 --> 00:23:36,000 >> मैं विशेष में इस हार्वर्ड खाद्य एपीआई में एक छोटा सा के लिए देखने के लिए जा रहा हूँ. 392 00:23:36,000 --> 00:23:39,870 एक बात मैं वास्तव में डिजाइन किया है इस हार्वर्ड noms वेबसाइट है, 393 00:23:39,870 --> 00:23:44,930 जो CS50 खाद्य एपीआई का उपयोग करता दिन के लिए HUDS मेनू पुनः प्राप्त. 394 00:23:44,930 --> 00:23:50,400 और विस्तार स्कूल के लोगों के लिए, HUDS हार्वर्ड में भोजन सेवा है. 395 00:23:50,400 --> 00:23:55,130 क्या तुम इस पेज है जो दिन के लिए भोजन के सभी शामिल है, तो हम दोपहर के भोजन है. 396 00:23:55,130 --> 00:23:58,130 हम कुछ अलग श्रेणियों है. हम सेम और साबुत अनाज स्टेशन है. 397 00:23:58,130 --> 00:24:00,340 हम भूरे रंग के चावल स्टेशन है. 398 00:24:00,340 --> 00:24:03,360 हम ब्रंच के लिए देखते हैं कि हम इन कुछ खाद्य वस्तुओं कर सकते हैं. 399 00:24:03,360 --> 00:24:07,030 यदि हम उन पर क्लिक करें, तो हम पोषण की जानकारी पाने के लिए. 400 00:24:07,030 --> 00:24:12,240 आप देख इस अंगूर के लिए पोषण जानकारी है, के मामले में आप सोच रहे थे. 401 00:24:12,240 --> 00:24:14,870 तो फिर, हम वापस अंत में एक छोटा सा यहाँ सहकर्मी के लिए जा रहे हैं 402 00:24:14,870 --> 00:24:18,530 देखने के लिए और क्या वास्तव में इस इस डेटा प्राप्त करने के लिए कर रही है. 403 00:24:18,530 --> 00:24:21,710 और यह पता चला के लिए वास्तव में बहुत जटिल नहीं हो सब पर. 404 00:24:21,710 --> 00:24:28,720 इस फ़ाइल में एक छोटी सी गड़बड़ लग रहा है, लेकिन ध्यान में रखना है कि इस पूरे वेबसाइट संभाल रही है, 405 00:24:28,720 --> 00:24:34,130 और अगर मैं नीचे स्क्रॉल हम इस परिवर्तन डेटा फ़ंक्शन देखें. 406 00:24:34,130 --> 00:24:36,630 >> अब, अभी स्पष्ट होना करने, इस CoffeeScript में लिखा है, 407 00:24:36,630 --> 00:24:39,570 जो एक भाषा है कि आप शायद पहले नहीं देखा है. 408 00:24:39,570 --> 00:24:44,810 लेकिन यह बहुत पठनीय है, तो मैं इसे माध्यम से चलना के रूप में हालांकि यह pseudocode थे. 409 00:24:44,810 --> 00:24:49,080 तारीख बदलने के लिए एक समारोह में कहा कि इस दिनांक मान में ले जा रहा है, 410 00:24:49,080 --> 00:24:51,740 और यह भी एक 1 में ले जा रहा है, जो हम के रूप में के बारे में ज्यादा परवाह नहीं है. 411 00:24:51,740 --> 00:24:54,110 लेकिन महत्वपूर्ण बात यह है कि इस तिथि है, 412 00:24:54,110 --> 00:25:00,080 और उस तारीख के दिन है कि हम करने के लिए खाद्य पदार्थों के सभी अनुरोध करना चाहते है. 413 00:25:00,080 --> 00:25:04,030 और तो आप देखते हैं कि हम यहाँ वाक्यविन्यास का एक छोटा सा है, 414 00:25:04,030 --> 00:25:09,000 जो मूल रूप से एक पठनीय प्रारूप में है कि तारीख पार्स. 415 00:25:09,000 --> 00:25:11,920 दूसरे शब्दों में, एपीआई एक निश्चित प्रारूप में तारीख की आवश्यकता है. 416 00:25:11,920 --> 00:25:17,390 तुम सिर्फ 16 नवंबर, 2012 ई. नहीं कह सकता. 417 00:25:17,390 --> 00:25:20,320 यह नहीं पता चल जाएगा कि क्या उस के साथ करने के लिए. यह एक विशिष्ट प्रारूप में तारीख चाहता है. 418 00:25:20,320 --> 00:25:23,230 हम यहाँ क्या कर रहे हैं यह दे रहा है ठीक है कि प्रारूप 419 00:25:23,230 --> 00:25:26,520 जो एक साल और फिर एक हैफ़ेन मूल्य, एक महीने के मूल्य है, 420 00:25:26,520 --> 00:25:29,420 अन्य हैफ़ेन और दिनांक मान. 421 00:25:29,420 --> 00:25:34,910 और हम भी कहते हैं कि हम डेटा JSON में उत्पादन होने के लिए चाहते हैं. 422 00:25:34,910 --> 00:25:37,560 >> अब हम इस AJAX अनुरोध कर रहे हैं, और जैसा कि मैंने पहले उल्लेख किया है, 423 00:25:37,560 --> 00:25:41,680 jQuery इस सुपर उपयोगी AJAX समारोह जो आप सब करने की ज़रूरत है निर्दिष्ट है 424 00:25:41,680 --> 00:25:45,780 यहाँ नीचे एक कुछ मापदंडों, और यह तुम वापस वास्तव में आप क्या चाहते हैं दे देंगे. 425 00:25:45,780 --> 00:25:50,490 हम यह कह रहे हैं कि हम यह करने के लिए जाने के लिए करना चाहते हैं यूआरएल इस CS50 खाद्य एपीआई है, 426 00:25:50,490 --> 00:25:52,270 जो हम कल्पना से मिला. 427 00:25:52,270 --> 00:25:56,730 हम कहते हैं कि हम JSON में और उस डेटा चाहते हैं 428 00:25:56,730 --> 00:25:59,490 हम इसे इस डेटा जो हम यहाँ से परिभाषित किया है देने के लिए जा रहे हैं. 429 00:25:59,490 --> 00:26:02,670 इस दिन हम के लिए खाद्य पदार्थों चाहते है. 430 00:26:02,670 --> 00:26:07,790 और फिर सफलता समारोह के कुछ प्रकार को परिभाषित करने के लिए हम सभी को करना है, 431 00:26:07,790 --> 00:26:11,980 जो मूल रूप से क्या होता है जब एपीआई कि डेटा लौटाता है. 432 00:26:11,980 --> 00:26:15,490 दूसरे शब्दों में, हम के सभी पैरामीटर है कि हम चाहते हैं पैक है, 433 00:26:15,490 --> 00:26:20,530 जो इस मामले में दिन है कि हम यह चाहते हैं और तथ्य यह है कि हम यह JSON में करना चाहते है, 434 00:26:20,530 --> 00:26:23,840 और हम इसे विदा करने के लिए एपीआई एपीआई, तो अब कह रही है, ठीक है, 435 00:26:23,840 --> 00:26:26,350 यहाँ अपने डेटा है, मैं यह आप के लिए वापस मिल गया. 436 00:26:26,350 --> 00:26:29,930 हम सफलता समारोह, का मतलब है जो दिया है कि एपीआई 437 00:26:29,930 --> 00:26:32,230 सफलतापूर्वक कुछ डेटा देता है, हम इसके साथ क्या करते हो? 438 00:26:32,230 --> 00:26:35,980 >> और यह पता चला है कि यह सब हम करते इस अद्यतन मेनू समारोह फोन है 439 00:26:35,980 --> 00:26:42,680 जो भी एपीआई के साथ वापस आ गया है, तो हम उस के लिए खोज कर सकते हैं 440 00:26:42,680 --> 00:26:47,970 देखते हैं कि हम सब कर रहे हैं नई वाक्यविन्यास का एक गुच्छा का उपयोग कर रहा है 441 00:26:47,970 --> 00:26:52,220 HTML को अद्यतन करने के लिए और इस नए डेटा डालने. 442 00:26:52,220 --> 00:26:56,580 क्या यह अनुमति देता है कि हम दोनों तरफ इन तीरों पर है, और हम भी क्लिक कर सकते हैं, 443 00:26:56,580 --> 00:27:01,060 और अब हम अगले दिन के लिए डेटा को देख रहे हैं और फिर अगले दिन के लिए, 444 00:27:01,060 --> 00:27:04,820 और हर बार यह है कि दिनांक मान अद्यतन है और एपीआई querying, 445 00:27:04,820 --> 00:27:07,510 कुछ डेटा वापस हो रही है और यह साइट में डाल. 446 00:27:07,510 --> 00:27:10,590 फिर, आप देखते हैं, सुपर, सुपर उपयोगी कर सकते हैं. 447 00:27:10,590 --> 00:27:14,410 इस app मुझे कुछ घंटे के लिए एक साथ हैक, 448 00:27:14,410 --> 00:27:20,140 और मैं थोड़ा और अधिक अनुभव है, जाहिर है, लेकिन अपने CS50 अंतिम परियोजना 449 00:27:20,140 --> 00:27:22,870 इस तरह बहुत कुछ देख सकते हैं. 450 00:27:22,870 --> 00:27:29,540 >> APIs प्रयास की राशि है कि वे ले के लिए शक्तिशाली सुपर रहे हैं. 451 00:27:29,540 --> 00:27:32,800 आखिरी बात मैं जा रहा हूँ एक कुछ अधिक APIs मोटे तौर पर है. 452 00:27:32,800 --> 00:27:35,480 मैं जहाँ तक के रूप में वे विशेष रूप से कर के रूप में अब तक उन में नहीं मिलेगा, 453 00:27:35,480 --> 00:27:38,740 लेकिन मैं तुम्हें क्या वहाँ बाहर है की एक विचार दे देंगे. 454 00:27:38,740 --> 00:27:42,700 2 वास्तव में उपयोगी हैं, अगर आप डेटा विश्लेषण या दृश्य में रुचि रखते हैं 455 00:27:42,700 --> 00:27:45,960 या ऐसा कुछ, Freebase और विकिपीडिया हैं. 456 00:27:45,960 --> 00:27:49,800 विकिपीडिया शायद आप सब पता है एक मुफ्त ऑनलाइन विश्वकोश 457 00:27:49,800 --> 00:27:53,230 और यह वास्तव में एक एपीआई है, इसलिए यदि आप चाहते हैं, उदाहरण के लिए, 458 00:27:53,230 --> 00:27:56,250 ग्रंथों के सभी और ऑक्टोपस के लिए लेख 459 00:27:56,250 --> 00:27:58,030 तुम बहुत आसानी से कर सकते हैं. 460 00:27:58,030 --> 00:28:02,300 बस हे, विकिपीडिया एपीआई, मैं इस के रूप में दिए गए डेटा करना चाहते हैं, 461 00:28:02,300 --> 00:28:07,010 और मैं इस प्रारूप में यह पसंद है, और लेख मैं चाहूँगा ऑक्टोपस है, 462 00:28:07,010 --> 00:28:09,820 और बहुत जल्दी यह तुम वापस दे कि जानकारी. 463 00:28:09,820 --> 00:28:12,230 यह वास्तव में उपयोगी हो सकता है अगर आप इस साइट के कुछ प्रकार बनाना चाहते हो सकता है 464 00:28:12,230 --> 00:28:16,200 कि विकिपीडिया या ऐसा कुछ के लिए एक बेहतर दर्शक है. 465 00:28:16,200 --> 00:28:21,350 >> Freebase इसी तरह की तरह है, हालांकि यह थोड़ा कठिन के रूप में एपीआई के रूप में दूर है. 466 00:28:21,350 --> 00:28:24,390 Freebase कि यह एक ऑनलाइन विश्वकोश में विकिपीडिया की तरह है 467 00:28:24,390 --> 00:28:29,050 जो बहुत से और विभिन्न विषयों के सभी प्रकार के बारे में अलग अलग डेटा के बहुत सारे हैं, 468 00:28:29,050 --> 00:28:33,150 लेकिन यह एक संबंधपरक डेटाबेस है, जो विकिपीडिया से थोड़ा अलग है में संग्रहित है. 469 00:28:33,150 --> 00:28:36,410 विकिपीडिया के अपने लेखों और अन्य लेख से जुड़े लेख है, 470 00:28:36,410 --> 00:28:38,860 लेकिन सबसे अधिक भाग के लिए, यदि आप चाहते हैं कि ऑक्टोपस के लिए डेटा, 471 00:28:38,860 --> 00:28:41,990 आप ऑक्टोपस लेख के लिए जाना है, कि डेटा प्राप्त करने के लिए, और आप पाठ का एक गुच्छा है 472 00:28:41,990 --> 00:28:43,830 ऑक्टोपस के बारे में तो, कि महान है. 473 00:28:43,830 --> 00:28:46,870 Freebase उस में एक थोड़ा और अधिक जटिल तरीके में काम करता है 474 00:28:46,870 --> 00:28:48,930 सब कुछ एक दूसरे से संबंधित है. 475 00:28:48,930 --> 00:28:52,620 दूसरे शब्दों में, अगर हम ऑक्टोपस के लिए खोज रहे हैं 476 00:28:52,620 --> 00:28:54,940 तो यह इसके साथ जुड़े श्रेणियों के एक गुच्छा है. 477 00:28:54,940 --> 00:28:57,920 >> उदाहरण के लिए, यह एक जानवर है, यह पानी के नीचे रहता है, 478 00:28:57,920 --> 00:28:59,710 यह एक निश्चित शरीर का तापमान है. 479 00:28:59,710 --> 00:29:01,210 मुझे नहीं मालूम. 480 00:29:01,210 --> 00:29:04,230 और इन सभी श्रेणियों के अन्य स्थानों पर जहां आप जा सकते हैं के लिए लिंक कर रहे हैं 481 00:29:04,230 --> 00:29:06,640 है कि एक ही वर्ग के साथ चीजों को देखने के लिए. 482 00:29:06,640 --> 00:29:13,450 दूसरे शब्दों में, ऑक्टोपस डेटा सेट सभी जानवरों के लिए निर्धारित किए गए आंकड़ों के एक लिंक होता है, 483 00:29:13,450 --> 00:29:16,790 और देना होगा कि मुझे डेटाबेस में चारों ओर वास्तव में जल्दी से स्थानांतरित. 484 00:29:16,790 --> 00:29:21,740 यह बहुत उपयोगी हो सकता है अगर आप तुलना की तरह कुछ कर रहे हैं कर सकते हैं. 485 00:29:21,740 --> 00:29:24,490 दूसरे शब्दों में, एक खास बात है, आप देखना चाहते हैं 486 00:29:24,490 --> 00:29:27,890 और क्या यह करने के लिए संबंधित है और देखने के लिए और क्या यह करने के लिए संबंधित नहीं है. 487 00:29:27,890 --> 00:29:30,700 बात का उस तरह. यह तरीकों की एक संख्या में उपयोगी हो सकता है. 488 00:29:30,700 --> 00:29:34,250 यदि आप एक चुनौती के अधिक के लिए देख रहे हैं और कुछ अधिक जटिल बातें करने में सक्षम हो 489 00:29:34,250 --> 00:29:38,740 मैं Freebase एपीआई पर एक नज़र लेने पर विचार करेंगे. 490 00:29:38,740 --> 00:29:44,670 लेकिन मोटे तौर पर, विकिपीडिया एक बहुत ही सरल रूप में जानकारी हो रही के रूप में दूर जाने के लिए जगह है. 491 00:29:44,670 --> 00:29:48,340 एक और जगह है कि मैं में देख लेंगे Last.fm है, और मैं वास्तव में साइट के लिए जा रहा हूँ 492 00:29:48,340 --> 00:29:53,800 मामले में कुछ लोगों को परिचित है, नहीं कर रहे हैं लेकिन Last.fm मूल रूप से एक संगीत है 493 00:29:53,800 --> 00:29:57,220 स्वाद और सिफारिशों वेबसाइट. 494 00:29:57,220 --> 00:29:59,000 आप एक खाता बना सकते हैं. 495 00:29:59,000 --> 00:30:04,250 आप अपने संगीत खिलाड़ी से अपलोड संगीत शुरू कर सकते हैं 496 00:30:04,250 --> 00:30:08,020 वेबसाइट के लिए, और मूल रूप से यह आप संगीत अनुशंसाएं देने शुरू कर देंगे 497 00:30:08,020 --> 00:30:10,030 के आधार पर आप क्या सुनना. 498 00:30:10,030 --> 00:30:14,270 >> उदाहरण के लिए, अगर आप अपने प्रोफ़ाइल में जाना यह मेरा है 499 00:30:14,270 --> 00:30:18,180 आप देख सकते हैं कि आप हाल ही में पटरियों को बात सुनी की एक सूची है. 500 00:30:18,180 --> 00:30:22,550 आप समग्र पसंदीदा कलाकारों, बात का है कि तरह के सभी देख सकते हैं, 501 00:30:22,550 --> 00:30:25,280 और फिर, वहाँ Last.fm के पीछे एक बड़ा एपीआई है, 502 00:30:25,280 --> 00:30:29,360  और आप इसे उपयोग करने के लिए बहुत सारे और वास्तव में ठंडी चीजें बहुत कर सकते हैं. 503 00:30:29,360 --> 00:30:38,870 उदाहरण के लिए, मैं एक दोस्त के पृष्ठ जो इस Last.fm उपकरण वेबसाइट पर जाना होगा. 504 00:30:38,870 --> 00:30:42,380 यह वास्तव में एक मंच है कि Last.fm एपीआई पर बनाया गया है, 505 00:30:42,380 --> 00:30:45,420 और यह बहुत दिलचस्प बातों का एक नंबर करता है. 506 00:30:45,420 --> 00:30:50,260 अगर मैं अपने उपयोगकर्ता नाम के साथ में लॉग इन करें उदाहरण के लिए, 507 00:30:50,260 --> 00:30:53,110 मैं यह पूछने के लिए एक टैग बादल उत्पन्न कर सकते हैं, उदाहरण के लिए, 508 00:30:53,110 --> 00:30:56,480 और है कि वह क्या करने जा रहा है मुझे वापस दे की एक छवि है 509 00:30:56,480 --> 00:30:59,850 सभी अलग अलग शैलियों और बात का है कि तरह है कि मैं सुनना पसंद है. 510 00:30:59,850 --> 00:31:01,410 यह यह कैसे कर रही है? 511 00:31:01,410 --> 00:31:05,670 बहुत मूल रूप से यह Last.fm एपीआई के लिए कह रहा है यहाँ इस उपयोगकर्ता है. 512 00:31:05,670 --> 00:31:10,710 मैं हर गीत की शैली पता करना चाहते हैं कि वे कभी सुना है, 513 00:31:10,710 --> 00:31:15,130 और आप Last.fm एपीआई के लिए एक बहुत आसान AJAX फोन कर कर सकते हैं कि. 514 00:31:15,130 --> 00:31:18,990 तुम वापस एक बड़ी सूची प्राप्त कर देंगे, और फिर जाहिर है, कुछ अन्य सामान किया जा रहा है 515 00:31:18,990 --> 00:31:22,280 यह एक शब्द बादल में बदल जाते हैं, लेकिन आप समग्र देख सकते हैं 516 00:31:22,280 --> 00:31:25,850 यह बहुत उपयोग करने में आसान है और बहुत आसानी से उपयोग है. 517 00:31:25,850 --> 00:31:30,750 चीजों के एक नंबर के लिए वास्तव में अच्छा है. 518 00:31:30,750 --> 00:31:35,940 >> मुझे लगता है कि सब के बारे में मैं समग्र कहूँगा है. 519 00:31:35,940 --> 00:31:39,040 एक आखिरी बात मैं API के बारे में सामान्य रूप में उल्लेख है कि 520 00:31:39,040 --> 00:31:41,840 आप कभी कभी दर सीमित बुलाया कुछ में भाग लेंगे, 521 00:31:41,840 --> 00:31:44,940 और दर को सीमित करने के विचार है आप के लिए एपीआई का दुरुपयोग नहीं करना चाहती. 522 00:31:44,940 --> 00:31:48,130 दूसरे शब्दों में, यह बहुत अच्छी बात है कि इन वेबसाइटों के एक बहुत APIs 523 00:31:48,130 --> 00:31:51,070 कि तुम जाओ और मुक्त करने के लिए उपयोग कर सकते हैं. 524 00:31:51,070 --> 00:31:54,460 हालांकि, अगर आप लाखों या प्रति दिन अनुरोधों के अरबों कर रहे हैं, 525 00:31:54,460 --> 00:31:57,610 उदाहरण के लिए, यदि आप एक अनंत लूप है कि असीम querying है में फंस रहे हैं 526 00:31:57,610 --> 00:32:00,680 एपीआई के कुछ प्रकार और वापस डेटा की एक बड़ी मात्रा में हो रही है, 527 00:32:00,680 --> 00:32:04,570 जाहिर है कि अच्छा नहीं है, तो एपीआई का एक बहुत क्या करना है इस दर सुविधा सीमित 528 00:32:04,570 --> 00:32:09,970 कहते हैं कि तुम केवल आईपी पता या कुछ की तरह है कि प्रति 1,000 प्रति दिन अनुरोध कर सकते हैं. 529 00:32:09,970 --> 00:32:12,540 और अगर आप परीक्षण के एक बहुत है और उस चीज़ की तरह कर रहे हैं, 530 00:32:12,540 --> 00:32:14,890 आप कभी कभी उस में चला हूँ, और अचानक यह आप बंद होगा 531 00:32:14,890 --> 00:32:18,280 और नहीं कहना है, मैं तुम्हें नहीं दे किसी भी अधिक डेटा रहा हूँ. 532 00:32:18,280 --> 00:32:20,000 >> आप क्या करना चाहते है नियमों से खेलते हैं. 533 00:32:20,000 --> 00:32:22,950 आप यह सुनिश्चित करें कि आप एपीआई कल्पना ध्यान से पढ़ें बनाना चाहते हैं. 534 00:32:22,950 --> 00:32:26,330 यदि यह कुछ नियमों, आप की तरह इसे करने के लिए संलग्न है केवल प्रति दिन एक्स प्रश्नों कर सकते हैं 535 00:32:26,330 --> 00:32:30,000 या आप केवल डेटाबेस का एक हिस्सा समय की एक निश्चित संख्या का उपयोग कर सकते हैं 536 00:32:30,000 --> 00:32:32,900 या कुछ और की तरह है कि आप सुनिश्चित करें कि आप उस के लिए छड़ी बनाना चाहते हैं. 537 00:32:32,900 --> 00:32:38,360 के रूप में लंबे समय के रूप में आप उन नियमों के भीतर खेलने आप शायद एपीआई का उपयोग वास्तव में एक अच्छा समय होगा. 538 00:32:38,360 --> 00:32:42,030 आपका समग्र takeaway है APIs वास्तव में कर रहे हैं, वास्तव में उपयोगी है. 539 00:32:42,030 --> 00:32:45,610 >> वहाँ लगभग वहाँ से बाहर किसी भी बड़े वेब सेवा के लिए एक एपीआई है. 540 00:32:45,610 --> 00:32:50,700 बहुत ज्यादा गूगल उपकरण सूट, गूगल मैप्स, Google धरती के किसी भी भाग 541 00:32:50,700 --> 00:32:54,390 जीमेल, गूगल कैलेंडर, उन सभी बातों के APIs है. 542 00:32:54,390 --> 00:32:58,280 आप उन्हें सर्वर से दोनों को मिलता है डेटा का उपयोग करने के लिए और सर्वर से डाटा भेज सकते हैं. 543 00:32:58,280 --> 00:33:00,870 दूसरे शब्दों में, अगर आप एक कैलेंडर अनुप्रयोग बनाना चाहते थे कि अद्यतन कर सकते हैं 544 00:33:00,870 --> 00:33:04,190 किसी Google कैलेंडर, वहाँ उस के लिए एक एपीआई है. 545 00:33:04,190 --> 00:33:07,810 यदि आप कुछ है कि तुम बताओ कहाँ जा रहा है बनाना चाहते हैं 546 00:33:07,810 --> 00:33:12,530 एक निश्चित पते के स्थान है कि आप के लिए गूगल मैप्स एपीआई का उपयोग कर सकते हैं. 547 00:33:12,530 --> 00:33:15,860 APIs fantastically उपयोगी हैं, और वे हर जगह हैं. 548 00:33:15,860 --> 00:33:18,700 यदि आप विचार किसी प्रकार में रुचि रखते हैं, 549 00:33:18,700 --> 00:33:22,170 वहाँ शायद एक संबंधित एपीआई कि आप डेटा का एक बहुत प्राप्त करने के लिए उपयोग कर सकते हैं 550 00:33:22,170 --> 00:33:25,060 बहुत जल्दी है और बहुत आसानी से. 551 00:33:25,060 --> 00:33:28,140 >> यदि आप अभी भी एक परियोजना के लिए देख रहे हैं या यदि आप बस के चारों ओर खेलना चाहते हैं 552 00:33:28,140 --> 00:33:31,820 सामान्य रूप में कुछ के साथ, एपीआई निश्चित रूप से कर रहे हैं कर रही लायक है. 553 00:33:31,820 --> 00:33:37,200 धन्यवाद, और मैं किसी भी सवाल का जवाब है कि आप लोगों को हो सकता है खुश हूँ. 554 00:33:37,200 --> 00:33:44,900 ठीक है, बहुत बहुत धन्यवाद. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]