1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [ندوة] [A مبرمجين مقدمة في واجهات برمجة التطبيقات] 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 >> مرحبا، الجميع، أنا بيلي، واليوم انا ذاهب الى الحديث عن واجهات برمجة التطبيقات، 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 بشكل عام ما هو API؟ 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 بدلا من ذلك نحن نريد أن يذهب من خلال هذا النوع من رجل في منتصف، وAPI. 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 وبعبارة أخرى، عندما يتم الاستعلام عن API قاعدة البيانات، 20 00:00:59,960 --> 00:01:03,300 انه سيكون على الارجح الى أن استخدام الجداول SQL وجميع هذا النوع من الاشياء، 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 وبعبارة أخرى، ونحن نريد حقا طريقة بسيطة لقول API للحصول على ما لدينا 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 يمكن أن تختلف قليلا بقدر كيف تقوم بإرسال الطلب إلى API. 32 00:01:40,370 --> 00:01:43,210 وبعبارة أخرى، إذا كنت تريد بعض كمية معينة من البيانات، 33 00:01:43,210 --> 00:01:46,670 كيف نقول للAPI للحصول على تلك البيانات يمكن أن تختلف قليلا. 34 00:01:46,670 --> 00:01:49,210 وعادة ما ينطوي على صنع نوع من طلب الشبكة. 35 00:01:49,210 --> 00:01:53,130 وبعبارة أخرى، الوصول إلى نوع من URL وهذا سوف نقول للAPI 36 00:01:53,130 --> 00:01:56,190 ما تريده بالضبط، ولكن هو دائما تقريبا إرسال البيانات مرة أخرى، 37 00:01:56,190 --> 00:01:59,530 وبعبارة أخرى، الرقم 4 في JSON. 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 لديك صفائف، hashmaps، والأوليات. 43 00:02:13,540 --> 00:02:16,580 المصفوفات وhashmaps كنت قد نظرت إلى قليلا في CS50، 44 00:02:16,580 --> 00:02:19,870 ولكن كنت قد حصلت على نوع من بالمعنى الدقيق جدا من ما هي عليه. 45 00:02:19,870 --> 00:02:22,780 وبعبارة أخرى، مع المصفوفات تعلمون انهم اكتب محدد، 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 يمكن أن تكون الأوليات السلاسل. يمكن أن تكون صحيحة. 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 تلك هي 2 خصائص JSON، ونحن نرى أن 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 هي نوع محدد، 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 A بعض الخصائص التي تجعل 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 جزء آخر وهذا هو عموما مفيدة حقا في العمل مع واجهات برمجة التطبيقات هو مسج. 101 00:05:45,490 --> 00:05:49,290 كنت قد تعلمت قليلا من جافا سكريبت، الذي هو وسيلة لطيفة 102 00:05:49,290 --> 00:05:53,710 لمعالجة HTML و CSS داخل موقع على شبكة الانترنت. 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 فإنه يأخذ الكثير من التعليمات البرمجية، لذلك هي مكتبة مسج لسكريبت. 107 00:06:07,590 --> 00:06:09,800 وبعبارة أخرى، فإنه من ملف جافا سكريبت التي يمكنك تحميل 108 00:06:09,800 --> 00:06:12,730 ثم استخدم ظائف مسج القيام ببعض الأشياء. 109 00:06:12,730 --> 00:06:15,670 ومسج يجعل حياتك أساسا من الاسهل. 110 00:06:15,670 --> 00:06:20,390 أنه يبسط ما سيستغرق مئات من خطوط في جافا سكريبت وصولا الى بضعة أسطر في مسج. 111 00:06:20,390 --> 00:06:24,430 >> انها مفيدة بشكل خاص إذا كنت تستخدم واجهات برمجة التطبيقات لعام 112 00:06:24,430 --> 00:06:27,600 كيف عليك أن تكون واجهات برمجة التطبيقات الوصول هو عن طريق تقديم طلبات 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 مسج لديه وظيفة بسيطة حقا دعا AJAX، 119 00:06:46,810 --> 00:06:51,760 وكل ما عليك القيام به هو إعطاء AJAX في المعلمات التي تريد إعطاء API، 120 00:06:51,760 --> 00:06:56,830 الموقع من أي نوع وAPI إضافية من الخيارات التي تريد تكوين. 121 00:06:56,830 --> 00:07:02,480 انها حقا، لطيف ومفيد جدا لهذا النوع من الأشياء. 122 00:07:02,480 --> 00:07:06,970 هذا كل ما نحن بحاجة إلى البدء في الحصول على أيدينا القذرة في واجهات برمجة التطبيقات. 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، 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 ونحن نرى أن ما قبل 1960s حقا لم يستعمل كل ذلك بكثير، 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 في الأساس، وأنها تعمل عبر API. 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 ومحور X. 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 حفر في هذا API أكثر من ذلك بقليل سوف تظهر لك مثال آخر على هذا المنبر 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 الحرب، والحرب، والكلمة الفرنسية للحرب، وهو الحربية. 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 في ثانية واحدة فقط في المملكة المتحدة، والثالث فقط من المصنفات المنشورة في فرنسا. 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 يمكنك القيام السيطرة، وتحول، J، والذي ينقلك إلى وحدة التحكم سكريبت. 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 >> والفكرة هي أن هناك API هذا هنا، 188 00:11:01,330 --> 00:11:05,330 ويمكنك ان ترى بالضبط ما يعود API. 189 00:11:05,330 --> 00:11:10,220 وهذا هو ما طلب هو الحصول على العودة من API إرسالها ذلك الطلب. 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 هي بدورها تعيين قيم المحور X المحور 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 بقدر ما نحن فعلا بإرسال البيانات إلى API للحصول على، 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 معرفة ما يريد المستخدم للاستعلام، وبعبارة أخرى، 216 00:12:53,750 --> 00:12:57,090 فحص تلك العلب حيث قمت إدخال مصطلحات البحث الخاصة بهم، 217 00:12:57,090 --> 00:13:01,380 التحقق من Y مختلفة وقيم المحور X أنهم قد اخترت وجميع هذا النوع من الاشياء، 218 00:13:01,380 --> 00:13:06,650 وانها سوف بصق هذه القيمة الاستعلام، وهو ما يمكن أن ترسل من ثم إلى API. 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 أن طرد انها لAPI. 223 00:13:28,110 --> 00:13:30,870 هذا في الواقع هنا. عذرا، فإنه إخراج الكثير من الأشياء. 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 وبعبارة أخرى، وهذا هو بالضبط ما يرسل تطبيق ويب إلى API، 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 وهو بالضبط ما اخترته في المحور Y أكثر من هنا. 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 أي محور X الأخرى القيمة. 237 00:14:16,030 --> 00:14:19,040 ثم لدينا من وسائل، والتي سوف تفعل بعض الأشياء واجهات برمجة التطبيقات متعددة. 238 00:14:19,040 --> 00:14:22,360 وبعبارة أخرى، يمكن لهذا API أيضا بإرجاع أنواع أخرى من البيانات، 239 00:14:22,360 --> 00:14:27,740 لكن في هذه الحالة، ونحن نريد أن تعيين القيم محور X لقيم المحور Y. 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 أول واحد هو ما نراه هنا، والتي هي كل القيم 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 يقولون أن كل API بالضبط ما نريد. 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 وكنت لا تكون بالضرورة باستخدام API هذا المجمع، 253 00:15:16,180 --> 00:15:20,600 ولكن هذا هو لتظهر لك مجموعة واجهات برمجة التطبيقات قوة ما يمكن القيام به. 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 ونحن لدينا محور Y والاختيار محور X. 259 00:15:40,610 --> 00:15:42,830 ليس لدينا في الواقع العديد من الحقول التي، 260 00:15:42,830 --> 00:15:46,210 ويمكننا أن نرى بسهولة جدا ونحن قادرون على الاستعلام نوعا من API 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 ويسمى API الفيسبوك هو الرسم البياني الفيسبوك، 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 انها API معقدا إلى حد كبير، وهناك طن يمكنك القيام به مع ذلك، 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 هناك ID الفيسبوك الفريدة التي لدي. 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 >> يمكننا أن نفعل نفس الشيء لمالان ديفيد، على سبيل المثال. 286 00:17:10,849 --> 00:17:13,599 أعتقد اسمه dmalan. 287 00:17:13,599 --> 00:17:16,369 نرى ديفيد مالان لديه معرف فريد. 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 دعونا نقول أنا مهتم في ما يحب وديفيد مالان في الفيسبوك. 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 فقط من نوع من API بسيطة، أليس كذلك؟ 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 بعض واجهات برمجة التطبيقات تتطلب أذونات معينة من أجل الوصول إلى البيانات الخاصة بهم. 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 أستطيع أن أرى هذه المعلومات الأساسية حول مالان ديفيد. 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 وهو الرسم البياني API Explorer، وفكرة هذا هو يمكنك فرز من 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 يصيح، واعتقد لدي لتبرير رمزية بلدي هنا. 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 أود حيوانات الفظ، والتي هي في الحيوان الفئة. 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 وإذا كنت مهتما باستخدام API الفيسبوك لمشروع النهائي 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 المصادقة يميل إلى تختلف كثيرا بين واجهات برمجة التطبيقات المختلفة، 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 >> إذا كنت جوجل API الفيسبوك انها قراءة للغاية. 335 00:20:04,050 --> 00:20:06,670 هناك مواصفات كاملة. 336 00:20:06,670 --> 00:20:10,210 على سبيل المثال، وهذا هو وثائق API الفيسبوك، 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 >> إذا كنت قد قدمت التطبيق الفيسبوك والتطبيق لديه بعض المستخدمين، 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 وإذا كنت ترغب في استخدام الفيسبوك وأود أن أوصي بأن تقوم 356 00:21:16,810 --> 00:21:18,990 النظر حول اللعب مع API الخاصة بهم. 357 00:21:18,990 --> 00:21:21,610 انها باردة جدا، ويمكنك أن تفعل الكثير من الاشياء المختلفة معها. 358 00:21:21,610 --> 00:21:24,880 إذا كان المستخدم تمنحك هذه الأذونات يمكنك الذهاب حتى إلى API 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 وهذا لأنه قد تم منح التطبيق أن الوصول إلى منصب على جدار ذلك الشخص. 363 00:21:43,120 --> 00:21:48,350 والفكرة العامة، ومعقدة جدا وAPI الفيسبوك ولكن أيضا مفيدة حقا. 364 00:21:48,350 --> 00:21:53,220 بالتأكيد تستحق التدقيق بها إذا كنت لا تزال تبحث عن المشروع النهائي. 365 00:21:53,220 --> 00:21:57,930 >> آخر مجموعة من واجهات برمجة التطبيقات التي انا ذاهب للذهاب أكثر من واجهات برمجة التطبيقات CS50. 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 على سبيل المثال، لهذا API أحداث هارفارد، والتي تمكنك من الوصول إلى قائمة 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 التي سوف تكون قادرة على العثور على أي API، وهي الفكرة 374 00:22:28,090 --> 00:22:33,920 فإنه يتيح لك معرفة، A، على وجه التحديد ما أن تطلب من API وكيفية طلب ذلك. 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 وB، فإنه يقول لي بالضبط ما يحدث لإعطاء يعود لي. 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 يمكننا بالتمرير لأسفل وانظر، على سبيل المثال، إذا كنا نريد الاستعلام عن API 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 وهذا مجرد مقياس آخر أننا تمرير إلى API. 389 00:23:27,700 --> 00:23:29,210 الكثير من الأشياء باردة القيام به هناك. 390 00:23:29,210 --> 00:23:32,550 أود أن أوصى بالتأكيد التحقق من واجهات برمجة التطبيقات CS50. 391 00:23:32,550 --> 00:23:36,000 >> انا ذاهب للنظر في هذه API الأغذية هارفارد ولا سيما بالنسبة قليلا. 392 00:23:36,000 --> 00:23:39,870 شيء واحد لقد صمم هذا الموقع هو في الواقع مستعارة هارفارد، 393 00:23:39,870 --> 00:23:44,930 والذي يستخدم API الأغذية 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 ولكن من قراءة جميلة، وهكذا لن أمشي من خلال ذلك كما لو كانت شبة الكود. 409 00:24:44,810 --> 00:24:49,080 تاريخ التغيير هو الدالة التي يجري اتخاذها في هذا قيمة التاريخ، 410 00:24:49,080 --> 00:24:51,740 وانه سيكون أيضا على أن تأخذ في الأولى، ونحن لا نهتم بنفس القدر. 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 وبعبارة أخرى، فإن API يتطلب التاريخ في صيغة معينة. 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 مسج لديه هذا السوبر ظيفة AJAX المفيدة التي كل ما عليك القيام به هو تحديد 424 00:25:41,680 --> 00:25:45,780 وعدد قليل من المعالم إلى هنا، وتعطيك بالضبط ما تريد عودة. 425 00:25:45,780 --> 00:25:50,490 نحن نقول أن URL نريد لها أن تذهب إلى هذا API الأغذية 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 الذي هو أساسا ما يحدث عندما يعود API تلك البيانات. 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 وأرسلنا تشغيله إلى API، وحتى الآن ويقول API، حسنا، 435 00:26:23,840 --> 00:26:26,350 هنا البيانات الخاصة بك، وحصلت عليه مرة أخرى لك. 436 00:26:26,350 --> 00:26:29,930 لدينا وظيفة النجاح، وهو ما يعني بالنظر إلى أن API 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 مع API مهما كانت عاد، حتى نتمكن من البحث عن ذلك 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 وكل مرة يكون فيها تحديث هذه القيمة تاريخ والاستعلام عن API، 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 استغرق هذا التطبيق لي بضع ساعات الإختراق معا، 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 >> واجهات برمجة التطبيقات سوبر قوية لمقدار الجهد التي يتخذونها. 451 00:27:29,540 --> 00:27:32,800 آخر شيء انا ذاهب للذهاب أكثر من واجهات برمجة التطبيقات هو عدد قليل من أكثر على نطاق واسع. 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 ولها في الواقع API، لذلك إذا كنت تريد، على سبيل المثال، 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 نقول فقط يا، ويكيبيديا API، أود البيانات التي تم إرجاعها عن ذلك، 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 هو نوع من المماثلة، على الرغم من انها قليلا أكثر صعوبة بقدر API. 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 وأود أن تنظر في اتخاذ نظرة على API 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 ومرة أخرى، هناك API كبيرة وراء 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 هذا هو في الواقع منصة أخرى أن الذي بني على API 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 أساسا للغاية قائلا انه لAPI Last.fm هنا لهذا المستخدم. 512 00:31:05,670 --> 00:31:10,710 أود أن أعرف كل هذا النوع من الأغنية التي كانوا قد استمع من أي وقت مضى ل، 513 00:31:10,710 --> 00:31:15,130 ويمكنك القيام بذلك عن طريق إجراء مكالمة بسيطة جدا AJAX API إلى Last.fm. 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 آخر شيء واحد سوف يتحدث عن واجهات برمجة التطبيقات بشكل عام هو أن 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 وبعبارة أخرى، أنه من الجيد حقا أن الكثير من هذه المواقع لديها واجهات برمجة التطبيقات 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 على سبيل المثال، إذا كنت عالقا في حلقة لا نهائية هذا ما لا نهاية الاستعلام 526 00:31:57,610 --> 00:32:00,680 نوعا من API والعودة كمية كبيرة من البيانات، 527 00:32:00,680 --> 00:32:04,570 من الواضح أن هذا ليس جيدا، فما الكثير من واجهات برمجة التطبيقات القيام به هو أن هذا المعدل الحد ميزة 528 00:32:04,570 --> 00:32:09,970 أن يقول لك لا يمكن إلا أن طلبات 1000 في اليوم لكل عنوان IP أو شيء من هذا القبيل. 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 كنت ترغب في التأكد من أن تقرأ بعناية المواصفات API. 534 00:32:22,950 --> 00:32:26,330 يمكن إذا كان لديه بعض القواعد المرتبطة به، مثل جعل لكم فقط X الاستفسارات يوميا 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 الوجبات الجاهزة واجهات برمجة التطبيقات العامة الخاصة بك هو حقا، حقا مفيدة. 539 00:32:42,030 --> 00:32:45,610 >> وهناك ما يقرب من أي API لخدمة ويب كبيرة هناك. 540 00:32:45,610 --> 00:32:50,700 الى حد كبير أي جزء من جناح أدوات جوجل، خرائط جوجل، وجوجل الأرض، 541 00:32:50,700 --> 00:32:54,390 بريد جوجل، وجوجل التقويم، كل هذه الأشياء لها واجهات برمجة التطبيقات. 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، هناك API لذلك. 545 00:33:04,190 --> 00:33:07,810 إذا كنت تريد أن تجعل شيئا يحدث أن أقول لكم أين 546 00:33:07,810 --> 00:33:12,530 موقع عنوان محدد هو أن تتمكن من استخدام خرائط جوجل API لذلك. 547 00:33:12,530 --> 00:33:15,860 واجهات برمجة التطبيقات هي مفيدة خيالي، وانهم في كل مكان. 548 00:33:15,860 --> 00:33:18,700 إذا كنت مهتما في نوع من فكرة، 549 00:33:18,700 --> 00:33:22,170 هناك على الارجح هو API ذات الصلة التي يمكنك استخدامها للحصول على الكثير من البيانات 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]