[Powered by Google Translate] [संगोष्ठी] [एक प्रोग्रामर APIs परिचय] [बिली Janitsch] [हार्वर्ड विश्वविद्यालय] [टॉमी MacWilliam] [यह CS50 है.] [CS50.TV] हाय, सब लोग, मैं बिली हूँ, और आज मैं API के बारे में बात कर रही हो जा रहा हूँ, या अनुप्रयोग प्रोग्रामिंग इंटरफेस, CS50 अंतिम परियोजनाओं और बात का है कि तरह के संदर्भ में विशेष रूप से. सामान्य में क्या एक एपीआई है? बहुत व्यापक संदर्भ में, यह एक आदमी के बीच है कि 2 टुकड़े की अनुमति देता है की तरह है सॉफ्टवेयर की एक दूसरे के साथ संवाद करने के लिए. यह बहुत व्यापक परिभाषा की तरह है और है कि हम क्या देख रहे हैं के लिए प्रासंगिक नहीं है. क्या हम वास्तव में चाहते हैं उपयोगी मध्यम जमीन के कुछ प्रकार है डेटाबेस के कुछ प्रकार के साथ कहीं संवाद. यहाँ एक चार्ट है, और मूल रूप से विचार है कि हम एक आवेदन कर रहे हैं, और हम एक डेटाबेस से डेटा प्राप्त करना चाहते हैं, लेकिन हम सीधे करने के लिए डेटाबेस क्वेरी के लिए नहीं करना चाहती. इसके बजाय हम मध्यम आदमी, एपीआई के इस तरह के माध्यम से जाना चाहते हैं. उस के पीछे विचार चार्ट पर 2 और 3 संख्या रहे हैं और दोनों के लिए बहुत ही जटिल और गन्दा होने जा रहा है. दूसरे शब्दों में, जब एपीआई डेटाबेस क्वेरी है, यह शायद एसक्यूएल टेबल और सामान की तरह के सभी का उपयोग किया जा रहा है, और हम इसके बारे में एक सा CS50 में सीखा है, लेकिन कुल मिलाकर, तुमने देखा है कि यह एक दर्द का एक सा है. यह बहुत, बहुत जटिल है और गंदा हो जाता है, खासकर जब आप कर रहे हैं जटिल प्रश्नों और उस चीज़ की तरह. क्या हम वास्तव में चाहते हैं उपयोगी और आसान तरीका के कुछ प्रकार है कि डेटा प्राप्त करने के लिए, और है कि चार्ट पर 1 और संख्या 4 के पीछे विचार है. दूसरे शब्दों में, हम वास्तव में एक सरल एपीआई बताओ कि क्या हमारे लिए प्राप्त करने के लिए जिस तरह से चाहते हैं और कि डेटा वापस लाने के लिए एक बहुत ही सरल तरीका है. एक मुख्य रास्ता है कि उस डेटा आमतौर पर भेज दिया जाता है और प्राप्त है, जो JSON, या जावास्क्रिप्ट वस्तु संकेतन है. यह एक छोटा सा के रूप में कैसे आप एपीआई के लिए अनुरोध भेजने के लिए के रूप में दूर से भिन्न हो सकते हैं. दूसरे शब्दों में, यदि आप डेटा की कुछ निश्चित राशि चाहते हैं, आप एपीआई कि डेटा एक छोटा सा भिन्न हो सकते हैं कैसे बता. आमतौर पर यह नेटवर्क अनुरोध के कुछ प्रकार बनाने शामिल है. दूसरे शब्दों में, यूआरएल के कुछ प्रकार तक पहुँचने के लिए एपीआई बताने जा रहा है वास्तव में आप क्या चाहते हैं, लेकिन डेटा लगभग हमेशा वापस भेज दिया जाता है, दूसरे शब्दों में, JSON में नंबर 4. JSON क्या ठीक है? जैसा कि मैंने कहा, जावास्क्रिप्ट वस्तु संकेतन. यह मूल रूप से डेटा संचारण और प्राप्त करने के लिए वैश्विक मानक है. विचार यह है कि आप इन चीजों की 3 श्रेणियों है. आप arrays, HashMaps, और पुरातन है. Arrays और HashMaps आप एक छोटा सा CS50 में देखा है, लेकिन आप की तरह वे क्या कर रहे हैं एक बहुत ही सख्त अर्थ मिल गया है. दूसरे शब्दों में, आप arrays के साथ पता है कि वे बाध्य लिखें कर रहे हैं, तो आप केवल एक प्रकार की तरह कि पूरे सरणी भर जाता है. JSON उस चीज़ की तरह के साथ एक बहुत अधिक उदार है. मूल रूप से विचार है कि आप इस वस्तु का निर्माण, जो किसी भी इन बातों 3 से बना जा सकता है और उनमें से कई लोगों में से एक बना जा सकता है, और वे नीडिंत किया जा सकता है. JSON का एक उदाहरण के यहाँ तरह है, जो इन घुंघराले कोष्ठक यहाँ अपने hashmap का प्रतिनिधित्व करते हैं, और मूल रूप से एक hashmap कुंजी के कुछ प्रकार से एक मानचित्रण मूल्य के कुछ प्रकार के लिए. आप यहाँ देख सकते हैं कि हम गुण कुंजी है, और कहा कि एक सरणी पर मानचित्रण है, जो इस पूरी बात है. हम hashmap का एक और तत्व है, जो इस कुंजी isAwesome है देखते हैं, जो सच की एक आदिम मूल्य दूसरे शब्दों में, नक्शे, एक बूलीयन. Primitives तार हो सकता है. वे integers हो सकता है. वे bools हो सकता है, उस तरह कुछ भी कर सकते हैं. और तुम इस सरणी की सामग्री को देखने के लिए कि गुण अंक में 2 तार, आत्म - समान और अद्भुत है. उन JSON के 2 गुण हैं, और हम देखते कि JSON भयानक है. कि देखो एक छोटे से अधिक बारीकी से मैं का निर्माण किया जा रहा हूँ JSON के एक अधिक जटिल उदाहरण यहाँ. चलो एक सरणी के साथ शुरू करने के लिए, उदाहरण के लिए, सिर्फ एक खाली सरणी. लेकिन यह है कि बोरिंग की तरह है, इसलिए हम एक बिट इसे भरने के लिए जा रहे हैं, और जैसा कि मैंने कहा, JSON में arrays बाध्य प्रकार के होते हैं, इसलिए हम भी यहाँ एक स्ट्रिंग हो सकता है, जो उच्च है, और कहा कि कि सरणी के एक और तत्व है. और इसी तरह, हम यहाँ एक hashmapping जोड़ने के लिए, हो सकता है जो कुछ मैपिंग किया जा रहा है. यह नाम से स्ट्रिंग बिली एक मानचित्रण किया जा रहा है. हम बिली के नाम से एक मानचित्रण है, और हम एक मानचित्रण नीले रंग के लिए पसंदीदा रंग. वह मूल रूप से JSON का एक अच्छा उदाहरण है. यह किस तरह का हो जाता है में वूप्स, इसे के विभिन्न भागों की एक अल्पविराम वहाँ सभी की जरूरत है. फिर, यह सब पर बाध्य नहीं किया प्रकार है, तो आप किसी भी तरह के प्रकार हो सकता है आप कुछ भी अंदर करना चाहते हैं, और विचार है यह स्व - समान है. दूसरे शब्दों में, यह सही यहाँ एक JSON वस्तु है, के रूप में इस पूरी बात है, बस के रूप में है, तो आप कर सकते हैं एक आदिम एक वस्तु हो, एक सरणी एक वस्तु हो या एक HashMap एक वस्तु हो. के रूप में आप किस तरह कर सकते हैं, JSON सच है, वास्तव में उपयोगी है कि यह इतनी बहुमुखी है. आप किसी भी संभव डेटा हो सकता है कि आप JSON में संग्रहीत गर्भ धारण कर सकते हैं. कि यह एक बहुत अच्छा भाषा एपीआई के साथ उपयोग बनाता है क्योंकि यह बहुत ज्यादा मतलब है कि कोई फर्क नहीं पड़ता कि क्या डेटा है कि आप चाहते हैं वहाँ के लिए कुछ करने के लिए यह JSON में वापस मिल रहा होने जा रहा है. कुछ गुणों है कि JSON विशेष रूप से इस तरह की बात के लिए अच्छा बनाने. जैसा कि आप देख सकते हैं, चीजों की एक बहुत की तुलना में है कि आप CS50 में किया गया है के साथ काम कर रहा यह अपेक्षाकृत बहुत पढ़ने के लिए और भी बहुत आसान लिखना आसान है. आप यह बाहर इंडेंट अगर आप चाहते हैं, जैसे कि मुझे लगता है कि उदाहरण में कर रहा था, जो आप एक अच्छी, सुंदर संस्करण है कि आप वास्तव में अच्छी तरह से देख सकते हैं देता है. लेकिन इसके अलावा, यह भी पढ़ने में आसान और एक कंप्यूटर के लिए लिखना. दूसरे शब्दों में, यह पार्स करने के लिए आसान है और आसान करने के लिए सांकेतिक शब्दों में बदलना, जिसका मतलब है कि यह बहुत तेजी के रूप में अब तक डेटा पढ़ने के रूप में संबंध है, और JSON वास्तव में जल्दी से उत्पन्न किया जा सकता है. यह भी बहुत आसान करने के लिए JSON के विभिन्न भागों और उस चीज़ की तरह का उपयोग कर सकते हैं. यह अच्छा है, और इसके अलावा, तथ्य यह है कि यह स्व - समान है, दूसरे शब्दों में, तथ्य यह है कि आप JSON JSON भीतर JSON के भीतर हो सकता है भंडारण के डेटा के लिए वास्तव में अच्छा है. दूसरा हिस्सा है कि आम तौर पर एपीआई के साथ काम करने में बहुत उपयोगी है jQuery है. आप जावास्क्रिप्ट का एक छोटा सा सीखा है, जो एक अच्छा तरीका है एक वेबसाइट के भीतर HTML और सीएसएस हेरफेर. लेकिन यह एक तरह से सादे जावास्क्रिप्ट में कोड के लिए एक दर्द हो सकता है, मुख्यतः क्योंकि जावास्क्रिप्ट एक वास्तव में वाचाल भाषा है. आप वाक्यविन्यास के एक बहुत कुछ सीखना है, और सिर्फ बातें करने के लिए बहुत सरल यह कोड का एक बहुत लेता है, तो jQuery जावास्क्रिप्ट के लिए एक पुस्तकालय है. दूसरे शब्दों में, यह एक जावास्क्रिप्ट फ़ाइल है कि आप लोड कर सकते हैं और तो jQuery कार्यों का उपयोग करने के लिए कुछ बातें करते हैं. और jQuery मूल रूप से अपने जीवन एक पूरी बहुत आसान बना देता है. यह सरल क्या जावास्क्रिप्ट में लाइनों के सैकड़ों jQuery में कुछ लाइनों के नीचे ले जाएगा. यह विशेष रूप से उपयोगी है यदि आप एपीआई का उपयोग कर रहे हैं, क्योंकि आम तौर पर कैसे आप APIs तक पहुँचने हो जाएगा AJAX अनुरोध करके है, और मेरा मानना ​​है कि दाऊद व्याख्यान में उल्लेख किया गया है कि AJAX अनुरोध आम तौर पर कर रहे हैं जब आप सर्वर के कुछ प्रकार के लिए एक नेटवर्क का अनुरोध कर रहे हैं और वापस डेटा के कुछ प्रकार हो रही है और एक पेज तत्क्षण अद्यतन. जबकि सादे जावास्क्रिप्ट में है कि लाइनों के पागल संख्या ले जाएगा हेडर के सभी को मान्य है और सामान की तरह के सभी करना, jQuery वास्तव में एक सरल AJAX समारोह बुलाया है, और तुम सब AJAX में क्या है पैरामीटर है कि आप के लिए एपीआई देना चाहता हूँ दे रहा है, एपीआई के स्थान और विकल्प है कि आप कॉन्फ़िगर करना चाहते हैं किसी भी अतिरिक्त तरह. यह वास्तव में, वास्तव में अच्छा है और इस तरह की बात के लिए बहुत ही उपयोगी है. वह सब हम APIs में हमारे हाथ गंदे हो रही शुरू करने की जरूरत है. मैं कुछ उदाहरण लाने के लिए और उनके विभिन्न गुणों का पता लगाने के लिए जा रहा हूँ और क्यों वे अलग - अलग प्रकार की बातों के लिए उपयोगी हो. पहली बात मैं वास्तव में तुम्हें दिखाता हूँ कुछ है कि मैं पर काम कर रहा है मेरे अनुसंधान प्रयोगशाला में है जो एक Ngram Viewer है, और मूलतः एक Ngram व्यूअर के विचार है आप शब्द के कुछ प्रकार के लिए खोज कर सकते हैं या वाक्यांश और देखते हैं कि कितनी बार यह समय के साथ एक पाठ के कुछ सेट में दिखाई दिया है. इस उदाहरण यहाँ बच्चों के इस डेटा सेट है कि न्यू यॉर्क में 1920 और 2000 के बीच पैदा हुए थे. हम, उदाहरण के लिए नाम जेनिफर के लिए खोज कर सकते हैं, और हम देखते हैं कि 1960 के दशक पूर्व यह सच है कि सभी ज्यादा इस्तेमाल नहीं किया गया था, और फिर जैसा कि हम बाद के वर्षों में इसे पाने के लिए बनने के लिए अधिक से अधिक प्रयोग किया जाता है. हम भी तुलना करते हैं, कर सकते हैं, इसलिए यदि हम जेनिफर की तुलना, उदाहरण के लिए, थॉमस, हम देख सकते हैं कि थॉमस बहुत प्रचलित इतिहास भर में किया गया है, जेनिफर जबकि एक और अधिक हाल ही नाम है. हम उस तरह की बात कर सकते हैं. यह कैसे आवेदन काम करता है? असल में, यह एक एपीआई के माध्यम से काम करता है. दूसरे शब्दों में, हम निश्चित मापदंडों यहाँ है. हम क्या हम वास्तव में के लिए खोज रहे हैं पैरामीटर है, जो इन नामों में हैं, और फिर हम कुछ अन्य गुण है, y अक्ष और एक्स अक्ष की तरह. आप हम कुछ अलग अलग विकल्प के रूप में दूर के रूप में देख सकते हैं समय का उपयोग करने के संकल्प और उस चीज़ की तरह. हम इन विकल्पों के रूप में डेटा क्या हम वास्तव में डेटाबेस से चाहते हैं के रूप में दूर है, और हम कुछ उपयोगी तरीके में वापस कि डेटा प्राप्त करना चाहते हैं. आमतौर पर, अगर हम डेटाबेस क्वेरी थे सीधे इसे करने के लिए एक दर्द हो तरह होगा क्योंकि संभवतः बच्चे के नाम के बारे में इस डेटा किसी डेटाबेस में कहीं रहता है, और यह वास्तव में इसे मैन्युअल क्वेरी जटिल होगा और वास्तव में डेटा क्या लौटने के लिए तय है. दूसरे शब्दों में, हम केवल इस मामले में जेनिफर और थॉमस के बारे में परवाह है, और हम केवल एक निश्चित धुरी और सामान की तरह के सभी पर के बारे में परवाह है. हम इस के आसपास कैसे मिलता है? इस एपीआई में एक छोटे से अधिक खुदाई मैं आप इस मंच का एक और उदाहरण दिखाता हूँ जो एक से थोड़ा अलग डेटा सेट का उपयोग करता है. इस डेटा सेट के बजाय बच्चे के नाम की जा रही है, वास्तव में सिर्फ पूरे ओपन लाइब्रेरी के प्रकाशन डेटाबेस प्रिंट, जो पिछले 100 या तो साल भर में प्रकाशित ग्रंथों की एक विशाल स्रोत है. विचार है हम लाखों और पाठ के लाखों लोगों के इस compository है, जो अब हम अलग शब्दों के अंदर और वाक्यांशों के लिए खोज कर सकते हैं यहाँ एक उदाहरण है कि एक छोटे से पिछले उदाहरण से अलग से भिन्न होता है मैं तुम्हें दिखाया है, जो हम इन 3 खोज प्रश्नों है, युद्ध, युद्ध, और युद्ध, जो guerre है के लिए फ्रेंच शब्द. और हम कुल डेटाबेस के 3 अलग अलग वर्गों के भीतर खोज रहे हैं. दूसरे शब्दों में, यह पहली क्वेरी में हम केवल संयुक्त राज्य अमेरिका में खोज कर रहे हैं, ब्रिटेन में केवल 2 एक, और फ्रांस में प्रकाशित काम करता है से केवल 3 में. हम देखते हैं कुछ दिलचस्प पैटर्न उभरेगा. उदाहरण के लिए, हम जो सही यहाँ के आसपास देखते हैं उफ़, मैं अक्ष गड़बड़ एक छोटा सा है, लेकिन आप इस श्रेणी में सही यहाँ देख सकते हैं नागरिक युद्ध के आसपास अमेरिकी संस्करण में एक बड़ी कील लेकिन अन्य दो में से एक में एक बड़ी कील इस तरह के, और कहा कि जाहिर है, क्योंकि अमेरिकी नागरिक युद्ध के उस बिंदु पर हो रहा था. हम कुछ शांत सामान वहाँ देख सकते हैं, लेकिन क्या हम वास्तव में के बारे में परवाह है कि हम कैसे इस डेटा मिला. मैं तुम्हें एक छोटा सा में इस एप्लिकेशन में पर्दे के पीछे ले जाऊँगा. एक साफ चाल है अगर आप साइट के साथ काम कर रहे हैं और किस तरह जानना चाहते हैं परदे के पीछे क्या हो रहा है, तुम डेवलपर उपकरण खोल सकते हैं. मैं क्रोम डेवलपर उपकरण का उपयोग करने के लिए जा रहा हूँ, और उन लोगों के लिए मिलता है आप नियंत्रण, पाली, जम्मू, और कर सकते हैं कि आप JavaScript कंसोल के लिए ले जाता है. वहाँ कुछ टैब हैं यहाँ. वे सब अलग अलग परिस्थितियों में बहुत उपयोगी हो सकता है, लेकिन मैं नेटवर्क के बारे में परवाह टैब अभी, और मैं वास्तव में करने के लिए कि काम पाने के ताज़ा है. ओह, माफ करना. यह एक यादृच्छिक उदाहरण देना पसंद है. ठीक है, हम इस उदाहरण के बजाय फिर से इस्तेमाल करेंगे. विचार है वहाँ इस एपीआई यहाँ है, और आप देख सकते हैं कि वास्तव में क्या एपीआई लौट रहा है. यह आवेदन रहा है कि अनुरोध भेजा एपीआई से क्या जाता है वापस हो रही है. मुझे एक छोटा सा में ज़ूम, और हम मूल रूप से देखने के लिए यह सिर्फ JSON में महत्वपूर्ण मूल्य जोड़े की एक श्रृंखला है. दूसरे शब्दों में, हम यहाँ इस hashmap कि मान मैप है. दूसरे शब्दों में, यह साल मूल्यों के लिए मानचित्रण है. 1765 में जो भी शब्द हम शुरू के लिए खोज 90 बार प्रयोग किया जाता है 1 मिलियन से बाहर है, इसलिए हम इस परिणाम वापस हो रही है. यह बिल्कुल JSON नहीं है, क्योंकि हम इस छोटे से परिणाम हैडर यहाँ है, लेकिन नोटिस कि इस पूरे उद्देश्य सिर्फ एक बहुत बड़ी JSON बूँद है. हम यहाँ एक सरणी जो इस पूरे तत्व शामिल है, और आपको लगता है कि वहाँ पूरे तत्व समाप्त होता है देखने के लिए, और कर सकते हैं तो हम एक और बड़ा तत्व है कि सभी तरह से नीचे चला जाता है अंत करने के लिए, और है कि यहाँ समाप्त होता है. हम में यह 2 वस्तुओं के साथ एक बहुत बड़ा सरणी है, और उन वस्तुओं में से प्रत्येक के एक HashMap है. आप उन HashMaps में से प्रत्येक के भीतर देखने के लिए हम एक मानचित्रण इस सूचकांक में 0 से मूल्य और इस मूल्य एक और hashmap मूल्य, जो फिर से एक्स अक्ष मान Y अक्ष मूल्यों मानचित्रण है. आप देख सकते हैं JSON थोड़ा थोड़ा जटिल हो जाता है, लेकिन कुल मिलाकर, यह वास्तव में बहुत उपयोगी है, और यह बहुत आसान है की तुलना का उपयोग अंकन के अन्य विभिन्न रूपों. जहाँ तक क्या हम वास्तव में एपीआई के लिए कर रहे हैं डेटा भेजने के रूप में पाने के, मैं वापस अंत में एक छोटा सा यहाँ से जाने के लिए जा रहा हूँ. यह बड़ा जावास्क्रिप्ट फ़ाइल है कि वेब अनुप्रयोग की बातचीत के सभी संभाल है, और इसलिए हम इस के अधिकांश के बारे में परवाह नहीं है, लेकिन हम इसके बारे में कुछ के बारे में परवाह नहीं है. उदाहरण के लिए, हम इस buildQuery समारोह के बारे में परवाह है, और इस समारोह का विचार मूल रूप से यह पृष्ठ के चारों ओर देख रहा है, बाहर figuring क्या उपयोगकर्ता दूसरे शब्दों में क्वेरी करना चाहता है, उन बक्से, जहां वे इनपुट अपने खोज शब्दों लिया है की जाँच, अलग वाई और एक्स अक्ष मूल्यों है कि वे चुना है और बात का है कि तरह की जाँच कर रहा है, और यह करने के लिए इस क्वेरी मूल्य है, जो मैं तो एपीआई के लिए भेज सकते हैं थूक जा रहा है. इस जटिल लग रहा है, और यह बहुत जटिल है लेकिन मैं क्या में तथ्य यह है, मैं कर रहा हूँ पहले से ही यह करने जा रहा हूँ, जो महान है यह है कि मैं करने के लिए सांत्वना पाने के लिए ठीक है कि क्वेरी मूल्य मुद्रित करने के लिए जा रहा हूँ कि इसे बंद करने के लिए एपीआई भेज रहा है. यह वास्तव में यहीं पर है. क्षमा करें, यह चीजों की एक बहुत outputs. लेकिन यह है कि हम क्या बारे में परवाह है, इस वस्तु को सही यहाँ. यह क्वेरी वस्तु है. दूसरे शब्दों में, यह ठीक है कि वेब आवेदन एपीआई के लिए भेज रहा है, और तो चलो एक छोटा सा के अंदर लग रही है, और हम देखते हैं कि हम कुछ मूल्यों यहाँ है. हम देखते हैं कि हम इस गिनती प्रकार है, जो प्रति लाख शब्दों घटनाओं है, जो वास्तव में है क्या हम यहाँ पर वाई अक्ष में चुना है. यही कारण है कि वह कहाँ से आ रहा है. हम एक डेटाबेस मूल्य, जिसका मतलब है कि वहाँ कुछ निश्चित डेटाबेस है कि इस डेटा में रह रही है, और हम उस डेटा को विशेष रूप से का उपयोग करना चाहते हैं के रूप में उदाहरण के लिए बच्चे के नाम के डेटा के विरोध. तो फिर हम इस समूह मूल्य है, जो कह रहा है कि हम वर्ष द्वारा खोज के रूप में करने का विरोध किया किसी भी अन्य एक्स अक्ष मान. तो हम एक तरीका है, जो कुछ APIs कई बातें करते हैं. दूसरे शब्दों में, इस API भी अन्य प्रकार के डेटा को वापस कर सकते हैं, लेकिन इस मामले में, हम एक्स अक्ष मूल्यों की है कि वाई अक्ष मूल्यों के मानचित्रण चाहते हैं. यही है कि क्या यह कह रहा है वहाँ क्या, और हम इस खोज को सीमा सरणी, जिसमें 2 मूल्यों है. 1 एक यह है कि हम यहाँ क्या देख, जो सभी मान शीर्ष पर है कि पहले छोटे से बॉक्स के भीतर निहित है. दूसरे शब्दों में, हम शब्द लड़ाई के लिए देखने के लिए चाहते हैं, और हम यह फिल्टर करना चाहते हैं अमेरिकी साहित्य के भीतर अंग्रेजी ग्रंथों के द्वारा. हम इस देश है, जो संयुक्त राज्य अमेरिका है. हम एक भाषा है, जो अंग्रेजी है है, तो हम इन विभिन्न भागों के सभी कि सभी एपीआई कह रहे हैं कि क्या वास्तव में हम चाहते हैं. हम नहीं जानते कि क्या डेटा है कि हम वापस पाने के अभी तक है, लेकिन हम जानते हैं कि डेटा के लिए एक निश्चित रूप ले जा रहा है. इस उदाहरण जटिल तरफ की तरह है, और आप जरूरी नहीं कि एक एपीआई के इस परिसर का उपयोग होता है, लेकिन यह आप और APIs क्या कर सकते हैं की सीमा की सत्ता को दिखाने के लिए है. दूसरे शब्दों में, एक अपेक्षाकृत सरल प्रश्न प्रणाली का उपयोग कर हम मूल रूप से एक इनपुट बॉक्स विभिन्न स्थानों में कुछ अन्य चयनकर्ताओं के साथ. मुझे यहाँ से बाहर वापस ज़ूम. हम कुछ अलग मेटाडाटा चयन के साथ एक इनपुट बॉक्स है, और हम वाई अक्ष और एक्स अक्ष चयन है. हम वास्तव में है कि कई क्षेत्रों का नहीं है, और हम बहुत आसानी से देख हम एपीआई के कुछ प्रकार क्वेरी करने में सक्षम हो सकता है और डेटा को वापस पाने के लिए और फिर इस चार्ट में डाल दिया, जो तब के लिए यह एक उपयोगी तरीके से प्रदर्शित करने के लिए जा रहा है. एक अन्य उदाहरण में लग रही है कि तुम लोगों के लिए थोड़ा और अधिक परिचित हो सकता है हम फेसबुक के लिए बारी के लिए जा रहे हैं. फेसबुक के एपीआई Facebook ग्राफ कहा जाता है, और मूल रूप से है कि क्या इसका मतलब है ही इस विशाल डाटाबेस के रूप में देखता है विभिन्न भागों है कि सभी एक दूसरे से कुछ रिश्तों के बहुत सारे. दूसरे शब्दों में, मैं फेसबुक पर एक उपयोगकर्ता कर रहा हूँ, तो मैं एक प्रोफाइल है, और मैं भी कुछ दोस्त है, और उनमें से हर एक प्रोफाइल है, और मेरे दोस्तों में से प्रत्येक एक दीवार है, जो उस पर अलग टिप्पणी की है, और उन टिप्पणियों के प्रत्येक पसंद और बात का है कि तरह के सभी है. फेसबुक के लिए विभिन्न भागों के बहुत सारे है. यह एक बेहद जटिल एपीआई है, और वहाँ टन आप इसके साथ कर सकते हैं, लेकिन यह वास्तव में बहुत आसान उपयोग करने के लिए. मैं / graph.facebook.com billyjanitsch करने के लिए जा रहा द्वारा शुरू करने के लिए जा रहा हूँ, जो अपने अद्वितीय खाता नाम है, और अपने खाते का नाम भी होगा कुछ शब्द की तरह अगर आप इसे चुना है, या यह सिर्फ संख्या का एक स्ट्रिंग हो सकता है. क्या हम वापस पाने के बहुत बुनियादी जानकारी है. हम देखते हैं कि मैं पहली बार एक नाम, जो बिली, एक अंतिम नाम है, जो Janitsch है. जो मैंने किया है एक अद्वितीय फेसबुक आईडी है. आप देखने के लिए कि मैं पुरुष हूँ और मैं मेरी भाषा सेटिंग है कि कर सकते हैं ब्रिटिश अंग्रेजी. दूसरे शब्दों में, हम बहुत ही बुनियादी जानकारी यहाँ देख रहे हैं. यह बहुत ज्यादा नहीं है, लेकिन यह हमें वहाँ क्या है की एक विचार दे. हम उदाहरण के लिए एक ही बात दाऊद Malan करने के लिए कर सकते हैं. मुझे लगता है कि उसका नाम dmalan है. हम देखते हैं डेविड Malan एक अद्वितीय पहचान है. वह एक नाम, प्रथम नाम, मध्य नाम, अंतिम नाम है. हमें यह भी देखना है कि वह पुरुष है और उसकी भाषा अमेरिका अंग्रेजी सेट है. दूसरे शब्दों में, हम बहुत बुनियादी जानकारी यहाँ देख रहे हैं. अब, क्या होता है अगर हम कुछ और करने के लिए बाहर की जाँच करने की कोशिश? चलो कहते हैं कि मैं क्या दाऊद Malan Facebook पर पसंद किया गया है में दिलचस्पी रहा हूँ. मैं पसंद / कर सकते हैं. अब हम एक समस्या में भाग लिया है. हम त्रुटि के कुछ प्रकार कि एक पहुँच टोकन का कहना मिल गया है इस संसाधन के लिए अनुरोध करने के लिए आवश्यक है. लेकिन अगर आप इसके बारे में सोचते हैं, कि वास्तव में समझ में आता है क्योंकि यह अजीब होगा अगर आप फेसबुक के डेटाबेस के हर एक भाग का उपयोग कर सकता है सिर्फ सरल एपीआई के कुछ प्रकार से, है ना? दूसरे शब्दों में, संभवतः आपकी जानकारी किसी को भी, जो यह चाहता है के द्वारा नहीं पहुँचा जा सकता है. इस त्रुटि को ठीक है कि क्या मतलब है. कुछ APIs कुछ अनुमतियाँ क्रम में करने के लिए अपने डेटा का उपयोग करने की आवश्यकता होती है. और फेसबुक जैसी एक भी अधिक उन्नत एपीआई, कुछ अनुमतियाँ कुछ बातें करने की आवश्यकता होगी. मैं डेविड Malan के बारे में इस बुनियादी जानकारी देख सकते हैं. मैं देख सकता हूँ कि वह पुरुष है और कहा कि वह अमेरिका में रहती है, लेकिन मैं सच है कि पिछले कुछ भी नहीं देख सकते हैं. अब के लिए इस के आसपास मिल, फेसबुक यह अच्छा उपकरण है जो ग्राफ एपीआई एक्सप्लोरर है, और कि का विचार यह है कि आप की तरह कर सकते हैं अपने स्वयं के खाते के आधार पर खुद के लिए अनुमति और फिर बातों है कि विशेष रूप से अपना खाता देख सकते हैं देखने के लिए. उदाहरण के लिए, अगर मैं graph.facebook.com/billyjanitsch/likes- वूप्स, मुझे लगता है कि मैं यहाँ मेरे टोकन revalidate है. ठीक है. यदि मुझे लगता है कि फिर से करते हैं, महान, अब मैं देख रहा हूँ कि मैं इस वस्तु को वापस मिल जो कहते हैं कि मैं पूल नूडल्स, जो श्रेणी खेल और खिलौने की तरह है. मैं walruses, जो श्रेणी पशु हैं पसंद है. ये मेरी वास्तविक पसंद कर रहे हैं. वे शर्मनाक की तरह कर रहे हैं. लेकिन हम देख सकते हैं कि इस डेटा के सभी JSON में लौट रहा है. यह बहुत पठनीय है. दूसरे शब्दों में, हम एक सरणी के कुछ प्रकार के डेटा के इस मैपिंग, और इस सरणी के प्रत्येक तत्व एक hashmap जो नक्शे एक तरह के नाम और एक तरह की श्रेणी. प्रत्येक तरह एक अद्वितीय पहचान है. वहाँ डेटा है कि हम प्राप्त कर सकते हैं के विभिन्न चीजों के सभी प्रकार के कर रहे हैं, और अगर आप एक CS50 अंतिम परियोजना के लिए फेसबुक एपीआई का उपयोग करने में रुचि रखते हैं या कुछ भी करने के लिए की तरह है कि यह वास्तव में काफी साध्य है. असल में कैसे आप प्रमाणीकरण बात के आसपास मिलता है एक OAuth बुलाया प्रणाली, या ओपन प्रमाणीकरण का उपयोग करता है, और मैं इसे पाने के लिए अब नहीं करना चाहती क्योंकि OAuth या विभिन्न प्रकार प्रमाणीकरण के लिए अलग APIs के बीच एक बहुत भिन्न हो जाता है, इसलिए मैं हर एक पर एक लंबे समय जा रहा खर्च कर सकते हैं, लेकिन वे वास्तव में बहुत स्पष्ट कर रहे हैं. यदि आप गूगल Facebook एपीआई यह बहुत पठनीय है. वहाँ एक पूरे कल्पना है. उदाहरण के लिए, इस Facebook एपीआई के लिए दस्तावेज है, और आप देखने के लिए मैं प्रयोक्ता पेज पर हूँ, तो मैं सभी चीजों के विभिन्न प्रकार के बारे में सीख सकते हैं कि जहाँ तक डेटा प्राप्त करने के लिए उपलब्ध हैं और भी अलग अनुमति है कि मैं क्रम में उन तक पहुँचने की जरूरत है. जैसा कि हमने देखा है, हम अनुमतियाँ की जरूरत नहीं करने के लिए नाम या लिंग का उपयोग करते हैं, लेकिन परे है कि हम ज्यादातर चीजों के लिए अनुमति की जरूरत नहीं है. इस पेज या बल्कि, इस वेबसाइट भी आप बता कैसे पाने के लिए होगा एक टोकन करने के लिए अपने आप को प्रमाणित करने में सक्षम होना. अधिकांश प्रमाणीकरण प्रणाली टोकन के कुछ प्रकार का उपयोग करें जहाँ आप इस अद्वितीय मूल्य है, जो वास्तव में एक लंबा और यादृच्छिक स्ट्रिंग है, और कहा कि जिस तरह से वे अनुरोध है कि आप के साथ कर रहे हैं जोड़ सकते हैं. दूसरे शब्दों में, वे जानते हैं कि आप अपने डेटा के साथ संदिग्ध कुछ भी नहीं कर रहे हैं. वे जानते हैं कि वास्तव में क्या तुम हो रही है. वे यह भी जानते हैं कि आप कि जानकारी को देखने की अनुमति है. यदि आप कर दिया है एक Facebook app और अपने app कुछ उपयोगकर्ताओं है, और उन उपयोगकर्ताओं की अनुमति दी है कि एप्लिकेशन को अपने प्रोफाइल के कुछ भागों का उपयोग करने के लिए, तो जो कुछ भी API कुंजी या टोकन है कि कि अनुप्रयोग का उपयोग कर रहा है उन उपयोगकर्ताओं के लिए डेटा का उपयोग करने में सक्षम हो जाएगा. इस जटिल लग सकता है, लेकिन यह भी बुरा नहीं है, और यदि आप Facebook का उपयोग करना चाहते हैं मैं अत्यधिक की सिफारिश करेंगे कि अपने एपीआई के साथ खेलने के आसपास पर विचार करें. यह बहुत अच्छा है, और आप इसके साथ अलग अलग चीजों का एक बहुत कुछ कर सकते हैं. यदि उपयोगकर्ता आप इन अनुमतियों अनुदान तुम भी एपीआई के लिए वापस जा सकते हैं और कहते हैं कि मैं वास्तव में इस उपयोगकर्ता की दीवार के लिए पोस्ट करना चाहते हैं, या मैं उन्हें एक फोटो पोस्ट करना चाहते हैं, और यही कारण है कि अपने समाचार फ़ीड पर आप कभी कभी उन कष्टप्रद बातें मिलेगा कह रही है अपने दोस्त अजीब साइट या ऐसा कुछ के कुछ प्रकार पर इस वीडियो देखा है. ऐसा इसलिए है क्योंकि कि app है कि व्यक्ति की दीवार पर पोस्ट करने के लिए उपयोग प्रदान किया गया है. विचार समग्र, फेसबुक एपीआई सुंदर, लेकिन यह भी जटिल है वास्तव में उपयोगी है. निश्चित रूप से बाहर की जाँच अगर आप अभी भी एक अंतिम परियोजना के लिए देख रहे हैं लायक है. एपीआई के एक अन्य कमरे कि मैं जा रहा हूँ CS50 APIs है. मुझे यहाँ में ज़ूम. CS50 वास्तव में एक साथ एपीआई की एक पूरी श्रृंखला डाल है कि आप एक अंतिम परियोजना के लिए या बस कुछ भी है कि आप कर रहे हैं के लिए उपयोग कर सकते हैं. और वे ज्यादातर हार्वर्ड संबंधित, और वे HUDS मेनू के हिसाब से बदलती है, उदाहरण के लिए इस हार्वर्ड घटनाक्रम एपीआई के लिए, जो आपको सूचित करेंगे की एक सूची का उपयोग अलग अलग घटनाओं है कि हार्वर्ड में जा रहे हैं और बात का है कि तरह. और इसलिए हम इनमें से किसी एक पर क्लिक करें और इसके लिए एक कल्पना कर सकते हैं, जो आप किसी भी एपीआई के लिए खोजने के लिए सक्षम हो सकता है, और विचार है यह आपको पता है, एक, विशेष रूप एपीआई से अनुरोध क्या है और कैसे यह अनुरोध. दूसरे शब्दों में, यदि मैं सभी घटनाओं है कि कल क्या हो रहा है तो मैं स्पष्ट रूप से यह है कि मैं चाहता हूँ एक निश्चित प्रारूप में उस तारीख देने के लिए मिल गया है, और बी, यह मुझे बताओ कि क्या वास्तव में यह मेरे लिए वापस देने के लिए जा रहा है. यह कहना होगा, मैं आपको इस JSON वस्तु वापस जा रहा हूँ, या आप की तरह देख सकते हैं, वहाँ अलग स्वरूप हैं. तुम भी एक CSV के रूप में डेटा को वापस कर सकते हैं, उदाहरण के लिए,. लेकिन तुम्हें पता है कि कैसे उस डेटा को देखने के लिए जब आप इसे वापस ले जा रहा है तो आप इसके साथ कुछ बातें करने की उम्मीद कर सकते हैं. हम नीचे स्क्रॉल और देख सकते हैं, उदाहरण के लिए, अगर हम एपीआई क्वेरी करना चाहते हैं एक कैलेंडर मिलता है, तो हम इस विशेष URL का उपयोग कर सकते हैं और यह जो डेटा है कि हम वास्तव में चाहते हो जा रहे हैं कुछ मानकों दे. और इसी तरह, अगर हम एक निश्चित प्रारूप में डेटा वापस चाहते हैं, तो हम यह पूछने के लिए एक CSV में डेटा का उत्पादन कर सकते हैं, और है कि सिर्फ एक पैरामीटर है कि हम एपीआई गुजर रहे हैं. शांत करने के लिए बातें करते हैं के बहुत सारे. मैं निश्चित रूप से बाहर CS50 APIs की जाँच की सिफारिश करेंगे. मैं विशेष में इस हार्वर्ड खाद्य एपीआई में एक छोटा सा के लिए देखने के लिए जा रहा हूँ. एक बात मैं वास्तव में डिजाइन किया है इस हार्वर्ड noms वेबसाइट है, जो CS50 खाद्य एपीआई का उपयोग करता दिन के लिए HUDS मेनू पुनः प्राप्त. और विस्तार स्कूल के लोगों के लिए, HUDS हार्वर्ड में भोजन सेवा है. क्या तुम इस पेज है जो दिन के लिए भोजन के सभी शामिल है, तो हम दोपहर के भोजन है. हम कुछ अलग श्रेणियों है. हम सेम और साबुत अनाज स्टेशन है. हम भूरे रंग के चावल स्टेशन है. हम ब्रंच के लिए देखते हैं कि हम इन कुछ खाद्य वस्तुओं कर सकते हैं. यदि हम उन पर क्लिक करें, तो हम पोषण की जानकारी पाने के लिए. आप देख इस अंगूर के लिए पोषण जानकारी है, के मामले में आप सोच रहे थे. तो फिर, हम वापस अंत में एक छोटा सा यहाँ सहकर्मी के लिए जा रहे हैं देखने के लिए और क्या वास्तव में इस इस डेटा प्राप्त करने के लिए कर रही है. और यह पता चला के लिए वास्तव में बहुत जटिल नहीं हो सब पर. इस फ़ाइल में एक छोटी सी गड़बड़ लग रहा है, लेकिन ध्यान में रखना है कि इस पूरे वेबसाइट संभाल रही है, और अगर मैं नीचे स्क्रॉल हम इस परिवर्तन डेटा फ़ंक्शन देखें. अब, अभी स्पष्ट होना करने, इस CoffeeScript में लिखा है, जो एक भाषा है कि आप शायद पहले नहीं देखा है. लेकिन यह बहुत पठनीय है, तो मैं इसे माध्यम से चलना के रूप में हालांकि यह pseudocode थे. तारीख बदलने के लिए एक समारोह में कहा कि इस दिनांक मान में ले जा रहा है, और यह भी एक 1 में ले जा रहा है, जो हम के रूप में के बारे में ज्यादा परवाह नहीं है. लेकिन महत्वपूर्ण बात यह है कि इस तिथि है, और उस तारीख के दिन है कि हम करने के लिए खाद्य पदार्थों के सभी अनुरोध करना चाहते है. और तो आप देखते हैं कि हम यहाँ वाक्यविन्यास का एक छोटा सा है, जो मूल रूप से एक पठनीय प्रारूप में है कि तारीख पार्स. दूसरे शब्दों में, एपीआई एक निश्चित प्रारूप में तारीख की आवश्यकता है. तुम सिर्फ 16 नवंबर, 2012 ई. नहीं कह सकता. यह नहीं पता चल जाएगा कि क्या उस के साथ करने के लिए. यह एक विशिष्ट प्रारूप में तारीख चाहता है. हम यहाँ क्या कर रहे हैं यह दे रहा है ठीक है कि प्रारूप जो एक साल और फिर एक हैफ़ेन मूल्य, एक महीने के मूल्य है, अन्य हैफ़ेन और दिनांक मान. और हम भी कहते हैं कि हम डेटा JSON में उत्पादन होने के लिए चाहते हैं. अब हम इस AJAX अनुरोध कर रहे हैं, और जैसा कि मैंने पहले उल्लेख किया है, jQuery इस सुपर उपयोगी AJAX समारोह जो आप सब करने की ज़रूरत है निर्दिष्ट है यहाँ नीचे एक कुछ मापदंडों, और यह तुम वापस वास्तव में आप क्या चाहते हैं दे देंगे. हम यह कह रहे हैं कि हम यह करने के लिए जाने के लिए करना चाहते हैं यूआरएल इस CS50 खाद्य एपीआई है, जो हम कल्पना से मिला. हम कहते हैं कि हम JSON में और उस डेटा चाहते हैं हम इसे इस डेटा जो हम यहाँ से परिभाषित किया है देने के लिए जा रहे हैं. इस दिन हम के लिए खाद्य पदार्थों चाहते है. और फिर सफलता समारोह के कुछ प्रकार को परिभाषित करने के लिए हम सभी को करना है, जो मूल रूप से क्या होता है जब एपीआई कि डेटा लौटाता है. दूसरे शब्दों में, हम के सभी पैरामीटर है कि हम चाहते हैं पैक है, जो इस मामले में दिन है कि हम यह चाहते हैं और तथ्य यह है कि हम यह JSON में करना चाहते है, और हम इसे विदा करने के लिए एपीआई एपीआई, तो अब कह रही है, ठीक है, यहाँ अपने डेटा है, मैं यह आप के लिए वापस मिल गया. हम सफलता समारोह, का मतलब है जो दिया है कि एपीआई सफलतापूर्वक कुछ डेटा देता है, हम इसके साथ क्या करते हो? और यह पता चला है कि यह सब हम करते इस अद्यतन मेनू समारोह फोन है जो भी एपीआई के साथ वापस आ गया है, तो हम उस के लिए खोज कर सकते हैं देखते हैं कि हम सब कर रहे हैं नई वाक्यविन्यास का एक गुच्छा का उपयोग कर रहा है HTML को अद्यतन करने के लिए और इस नए डेटा डालने. क्या यह अनुमति देता है कि हम दोनों तरफ इन तीरों पर है, और हम भी क्लिक कर सकते हैं, और अब हम अगले दिन के लिए डेटा को देख रहे हैं और फिर अगले दिन के लिए, और हर बार यह है कि दिनांक मान अद्यतन है और एपीआई querying, कुछ डेटा वापस हो रही है और यह साइट में डाल. फिर, आप देखते हैं, सुपर, सुपर उपयोगी कर सकते हैं. इस app मुझे कुछ घंटे के लिए एक साथ हैक, और मैं थोड़ा और अधिक अनुभव है, जाहिर है, लेकिन अपने CS50 अंतिम परियोजना इस तरह बहुत कुछ देख सकते हैं. APIs प्रयास की राशि है कि वे ले के लिए शक्तिशाली सुपर रहे हैं. आखिरी बात मैं जा रहा हूँ एक कुछ अधिक APIs मोटे तौर पर है. मैं जहाँ तक के रूप में वे विशेष रूप से कर के रूप में अब तक उन में नहीं मिलेगा, लेकिन मैं तुम्हें क्या वहाँ बाहर है की एक विचार दे देंगे. 2 वास्तव में उपयोगी हैं, अगर आप डेटा विश्लेषण या दृश्य में रुचि रखते हैं या ऐसा कुछ, Freebase और विकिपीडिया हैं. विकिपीडिया शायद आप सब पता है एक मुफ्त ऑनलाइन विश्वकोश और यह वास्तव में एक एपीआई है, इसलिए यदि आप चाहते हैं, उदाहरण के लिए, ग्रंथों के सभी और ऑक्टोपस के लिए लेख तुम बहुत आसानी से कर सकते हैं. बस हे, विकिपीडिया एपीआई, मैं इस के रूप में दिए गए डेटा करना चाहते हैं, और मैं इस प्रारूप में यह पसंद है, और लेख मैं चाहूँगा ऑक्टोपस है, और बहुत जल्दी यह तुम वापस दे कि जानकारी. यह वास्तव में उपयोगी हो सकता है अगर आप इस साइट के कुछ प्रकार बनाना चाहते हो सकता है कि विकिपीडिया या ऐसा कुछ के लिए एक बेहतर दर्शक है. Freebase इसी तरह की तरह है, हालांकि यह थोड़ा कठिन के रूप में एपीआई के रूप में दूर है. Freebase कि यह एक ऑनलाइन विश्वकोश में विकिपीडिया की तरह है जो बहुत से और विभिन्न विषयों के सभी प्रकार के बारे में अलग अलग डेटा के बहुत सारे हैं, लेकिन यह एक संबंधपरक डेटाबेस है, जो विकिपीडिया से थोड़ा अलग है में संग्रहित है. विकिपीडिया के अपने लेखों और अन्य लेख से जुड़े लेख है, लेकिन सबसे अधिक भाग के लिए, यदि आप चाहते हैं कि ऑक्टोपस के लिए डेटा, आप ऑक्टोपस लेख के लिए जाना है, कि डेटा प्राप्त करने के लिए, और आप पाठ का एक गुच्छा है ऑक्टोपस के बारे में तो, कि महान है. Freebase उस में एक थोड़ा और अधिक जटिल तरीके में काम करता है सब कुछ एक दूसरे से संबंधित है. दूसरे शब्दों में, अगर हम ऑक्टोपस के लिए खोज रहे हैं तो यह इसके साथ जुड़े श्रेणियों के एक गुच्छा है. उदाहरण के लिए, यह एक जानवर है, यह पानी के नीचे रहता है, यह एक निश्चित शरीर का तापमान है. मुझे नहीं मालूम. और इन सभी श्रेणियों के अन्य स्थानों पर जहां आप जा सकते हैं के लिए लिंक कर रहे हैं है कि एक ही वर्ग के साथ चीजों को देखने के लिए. दूसरे शब्दों में, ऑक्टोपस डेटा सेट सभी जानवरों के लिए निर्धारित किए गए आंकड़ों के एक लिंक होता है, और देना होगा कि मुझे डेटाबेस में चारों ओर वास्तव में जल्दी से स्थानांतरित. यह बहुत उपयोगी हो सकता है अगर आप तुलना की तरह कुछ कर रहे हैं कर सकते हैं. दूसरे शब्दों में, एक खास बात है, आप देखना चाहते हैं और क्या यह करने के लिए संबंधित है और देखने के लिए और क्या यह करने के लिए संबंधित नहीं है. बात का उस तरह. यह तरीकों की एक संख्या में उपयोगी हो सकता है. यदि आप एक चुनौती के अधिक के लिए देख रहे हैं और कुछ अधिक जटिल बातें करने में सक्षम हो मैं Freebase एपीआई पर एक नज़र लेने पर विचार करेंगे. लेकिन मोटे तौर पर, विकिपीडिया एक बहुत ही सरल रूप में जानकारी हो रही के रूप में दूर जाने के लिए जगह है. एक और जगह है कि मैं में देख लेंगे Last.fm है, और मैं वास्तव में साइट के लिए जा रहा हूँ मामले में कुछ लोगों को परिचित है, नहीं कर रहे हैं लेकिन Last.fm मूल रूप से एक संगीत है स्वाद और सिफारिशों वेबसाइट. आप एक खाता बना सकते हैं. आप अपने संगीत खिलाड़ी से अपलोड संगीत शुरू कर सकते हैं वेबसाइट के लिए, और मूल रूप से यह आप संगीत अनुशंसाएं देने शुरू कर देंगे के आधार पर आप क्या सुनना. उदाहरण के लिए, अगर आप अपने प्रोफ़ाइल में जाना यह मेरा है आप देख सकते हैं कि आप हाल ही में पटरियों को बात सुनी की एक सूची है. आप समग्र पसंदीदा कलाकारों, बात का है कि तरह के सभी देख सकते हैं, और फिर, वहाँ Last.fm के पीछे एक बड़ा एपीआई है,  और आप इसे उपयोग करने के लिए बहुत सारे और वास्तव में ठंडी चीजें बहुत कर सकते हैं. उदाहरण के लिए, मैं एक दोस्त के पृष्ठ जो इस Last.fm उपकरण वेबसाइट पर जाना होगा. यह वास्तव में एक मंच है कि Last.fm एपीआई पर बनाया गया है, और यह बहुत दिलचस्प बातों का एक नंबर करता है. अगर मैं अपने उपयोगकर्ता नाम के साथ में लॉग इन करें उदाहरण के लिए, मैं यह पूछने के लिए एक टैग बादल उत्पन्न कर सकते हैं, उदाहरण के लिए, और है कि वह क्या करने जा रहा है मुझे वापस दे की एक छवि है सभी अलग अलग शैलियों और बात का है कि तरह है कि मैं सुनना पसंद है. यह यह कैसे कर रही है? बहुत मूल रूप से यह Last.fm एपीआई के लिए कह रहा है यहाँ इस उपयोगकर्ता है. मैं हर गीत की शैली पता करना चाहते हैं कि वे कभी सुना है, और आप Last.fm एपीआई के लिए एक बहुत आसान AJAX फोन कर कर सकते हैं कि. तुम वापस एक बड़ी सूची प्राप्त कर देंगे, और फिर जाहिर है, कुछ अन्य सामान किया जा रहा है यह एक शब्द बादल में बदल जाते हैं, लेकिन आप समग्र देख सकते हैं यह बहुत उपयोग करने में आसान है और बहुत आसानी से उपयोग है. चीजों के एक नंबर के लिए वास्तव में अच्छा है. मुझे लगता है कि सब के बारे में मैं समग्र कहूँगा है. एक आखिरी बात मैं API के बारे में सामान्य रूप में उल्लेख है कि आप कभी कभी दर सीमित बुलाया कुछ में भाग लेंगे, और दर को सीमित करने के विचार है आप के लिए एपीआई का दुरुपयोग नहीं करना चाहती. दूसरे शब्दों में, यह बहुत अच्छी बात है कि इन वेबसाइटों के एक बहुत APIs कि तुम जाओ और मुक्त करने के लिए उपयोग कर सकते हैं. हालांकि, अगर आप लाखों या प्रति दिन अनुरोधों के अरबों कर रहे हैं, उदाहरण के लिए, यदि आप एक अनंत लूप है कि असीम querying है में फंस रहे हैं एपीआई के कुछ प्रकार और वापस डेटा की एक बड़ी मात्रा में हो रही है, जाहिर है कि अच्छा नहीं है, तो एपीआई का एक बहुत क्या करना है इस दर सुविधा सीमित कहते हैं कि तुम केवल आईपी पता या कुछ की तरह है कि प्रति 1,000 प्रति दिन अनुरोध कर सकते हैं. और अगर आप परीक्षण के एक बहुत है और उस चीज़ की तरह कर रहे हैं, आप कभी कभी उस में चला हूँ, और अचानक यह आप बंद होगा और नहीं कहना है, मैं तुम्हें नहीं दे किसी भी अधिक डेटा रहा हूँ. आप क्या करना चाहते है नियमों से खेलते हैं. आप यह सुनिश्चित करें कि आप एपीआई कल्पना ध्यान से पढ़ें बनाना चाहते हैं. यदि यह कुछ नियमों, आप की तरह इसे करने के लिए संलग्न है केवल प्रति दिन एक्स प्रश्नों कर सकते हैं या आप केवल डेटाबेस का एक हिस्सा समय की एक निश्चित संख्या का उपयोग कर सकते हैं या कुछ और की तरह है कि आप सुनिश्चित करें कि आप उस के लिए छड़ी बनाना चाहते हैं. के रूप में लंबे समय के रूप में आप उन नियमों के भीतर खेलने आप शायद एपीआई का उपयोग वास्तव में एक अच्छा समय होगा. आपका समग्र takeaway है APIs वास्तव में कर रहे हैं, वास्तव में उपयोगी है. वहाँ लगभग वहाँ से बाहर किसी भी बड़े वेब सेवा के लिए एक एपीआई है. बहुत ज्यादा गूगल उपकरण सूट, गूगल मैप्स, Google धरती के किसी भी भाग जीमेल, गूगल कैलेंडर, उन सभी बातों के APIs है. आप उन्हें सर्वर से दोनों को मिलता है डेटा का उपयोग करने के लिए और सर्वर से डाटा भेज सकते हैं. दूसरे शब्दों में, अगर आप एक कैलेंडर अनुप्रयोग बनाना चाहते थे कि अद्यतन कर सकते हैं किसी Google कैलेंडर, वहाँ उस के लिए एक एपीआई है. यदि आप कुछ है कि तुम बताओ कहाँ जा रहा है बनाना चाहते हैं एक निश्चित पते के स्थान है कि आप के लिए गूगल मैप्स एपीआई का उपयोग कर सकते हैं. APIs fantastically उपयोगी हैं, और वे हर जगह हैं. यदि आप विचार किसी प्रकार में रुचि रखते हैं, वहाँ शायद एक संबंधित एपीआई कि आप डेटा का एक बहुत प्राप्त करने के लिए उपयोग कर सकते हैं बहुत जल्दी है और बहुत आसानी से. यदि आप अभी भी एक परियोजना के लिए देख रहे हैं या यदि आप बस के चारों ओर खेलना चाहते हैं सामान्य रूप में कुछ के साथ, एपीआई निश्चित रूप से कर रहे हैं कर रही लायक है. धन्यवाद, और मैं किसी भी सवाल का जवाब है कि आप लोगों को हो सकता है खुश हूँ. ठीक है, बहुत बहुत धन्यवाद. [CS50.TV]