1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [Σεμινάριο] [Εισαγωγή του προγραμματιστή να APIs] 2 00:00:02,480 --> 00:00:04,059 [Billy Janitsch] [Πανεπιστήμιο του Χάρβαρντ] [Tommy 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 Σε γενικές γραμμές αυτό είναι ένα 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 Με άλλα λόγια, όταν η ΑΡΙ επερώτηση της βάσης δεδομένων, 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, ή JavaScript Object Notation. 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 Όπως είπα, Object Notation JavaScript. 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 η οποία αντιστοιχεί σε ένα πρωτόγονο αξία της αληθινής, με άλλα λόγια, μια boolean. 59 00:03:07,370 --> 00:03:09,420 Primitives μπορεί να είναι χορδές. Μπορούν να είναι ακέραιοι. 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 έτσι θα μπορούσαμε να έχουμε επίσης μια σειρά εδώ, το οποίο είναι hi, 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 Αυτό το καθιστά μια πολύ ωραία γλώσσα για χρήση με τα API 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 Ένα άλλο μέρος που είναι γενικά πολύ χρήσιμη σε συνεργασία με τα API είναι jQuery. 101 00:05:45,490 --> 00:05:49,290 Έχετε μάθει ένα μικρό κομμάτι του JavaScript, το οποίο είναι ένας ωραίος τρόπος 102 00:05:49,290 --> 00:05:53,710 να χειραγωγήσουν HTML και CSS μέσα σε έναν ιστοχώρο. 103 00:05:53,710 --> 00:05:57,190 Αλλά αυτό μπορεί να είναι το είδος του πόνου σε ένα κώδικα JavaScript στην πεδιάδα, 104 00:05:57,190 --> 00:05:59,810 κυρίως επειδή το JavaScript είναι μια γλώσσα πολύ φλύαρο. 105 00:05:59,810 --> 00:06:03,020 Θα πρέπει να μάθουν πολλά από τη σύνταξη, και απλά να κάνει πολύ απλά πράγματα 106 00:06:03,020 --> 00:06:07,590 χρειάζεται πολλή κώδικα, έτσι jQuery είναι μια βιβλιοθήκη για το JavaScript. 107 00:06:07,590 --> 00:06:09,800 Με άλλα λόγια, πρόκειται για ένα αρχείο JavaScript που μπορείτε να φορτώσετε 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 Αυτό απλοποιεί ό, τι θα έπαιρνε εκατοντάδες γραμμές σε JavaScript κάτω σε λίγες γραμμές σε jQuery. 111 00:06:20,390 --> 00:06:24,430 >> Είναι ιδιαίτερα χρήσιμο αν είστε με τη χρήση APIs, επειδή γενικά 112 00:06:24,430 --> 00:06:27,600 το πώς θα πρέπει να έχουν πρόσβαση APIs είναι κάνοντας AJAX αιτήματα, 113 00:06:27,600 --> 00:06:30,130 και πιστεύω ότι ο David έχει αναφέρει ότι σε διάλεξη 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 Ότι στην πεδιάδα JavaScript που θα λάβουν τρελό αριθμό των γραμμών 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 είναι να δώσουμε τις παραμέτρους που θέλετε να δώσετε το 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 Αυτό είναι το μόνο που χρειάζεται για να ξεκινήσει να πάρει τα χέρια μας βρώμικα σε 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, 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 Μπορούμε να ψάξουμε, για παράδειγμα, για την Jennifer όνομα, 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 Μπορούμε επίσης να κάνουμε συγκρίσεις, οπότε αν συγκρίνουμε την Jennifer, για παράδειγμα, Θωμάς, 135 00:07:53,680 --> 00:07:56,520 μπορούμε να δούμε Thomas ήταν αρκετά διαδεδομένη σε όλη την ιστορία, 136 00:07:56,520 --> 00:07:58,780 λαμβάνοντας υπόψη ότι η Jennifer είναι μια πιο πρόσφατη όνομα. 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 όπως τον άξονα Υ και του άξονα Χ. 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 Με άλλα λόγια, μόνο νοιάζονται για Jennifer Thomas και σε αυτή την περίπτωση, 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 πόλεμος, ο πόλεμος, και η γαλλική λέξη για τον πόλεμο, η οποία είναι 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 στο δεύτερο μόνο στο Ηνωμένο Βασίλειο, και το τρίτο μόνο από τα έργα που δημοσιεύτηκαν στη Γαλλία. 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 Θα σας μεταφέρει πίσω από τις σκηνές σε αυτό το app σε λίγο. 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 Πάω να χρησιμοποιούν τα εργαλεία ανάπτυξης του Chrome, και να πάρει με αυτά 180 00:10:30,200 --> 00:10:35,160 μπορείτε να κάνετε τον έλεγχο, στροφή, J, και αυτό θα σας οδηγήσει στην κονσόλα 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 >> Η ιδέα είναι ότι υπάρχει αυτό το 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 η οποία και πάλι είναι η χαρτογράφηση τιμές του άξονα Χ προς Υ τιμές του άξονα. 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 Αυτό είναι το μεγάλο αρχείο JavaScript που είναι το χειρισμό των αλληλεπιδράσεων της εφαρμογής web, 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 τον έλεγχο των διαφόρων Υ και Χ τιμές του άξονα που έχετε επιλέξει και όλο αυτό το είδος του πράγματος, 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 το οποίο είναι ακριβώς αυτό που έχουμε επιλέξει στον άξονα Υ εδώ. 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 Με άλλα λόγια, αυτό το ΑΡΙ μπορεί επίσης να επιστρέψει άλλα είδη δεδομένων, 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 Το πρώτο είναι αυτό που βλέπουμε εδώ, το οποίο είναι το σύνολο των αξιών 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 αλλά αυτό είναι για να σας δείξει το εύρος και τη δύναμη των 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 και μπορούμε να δούμε πολύ εύκολα να είμαστε σε θέση να αναζητούν κάποιο είδος του 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 θα πάμε να γυρίσει στο Facebook. 265 00:15:56,510 --> 00:15:59,440 API του Facebook ονομάζεται η γραφική παράσταση του Facebook, 266 00:15:59,440 --> 00:16:04,390 και βασικά τι σημαίνει αυτό είναι το Facebook θεωρεί τον εαυτό της ως αυτή τη μαζική βάση δεδομένων 267 00:16:04,390 --> 00:16:08,000 των παρτίδων των διαφόρων τμημάτων που όλα έχουν ορισμένες σχέσεις μεταξύ τους. 268 00:16:08,000 --> 00:16:11,070 Με άλλα λόγια, είμαι ένας χρήστης στο Facebook, έτσι έχω ένα προφίλ, 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 >> Υπάρχει πολλά διαφορετικά μέρη στο Facebook. 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 Υπάρχει ένα μοναδικό αναγνωριστικό του Facebook που έχω. 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 >> Μπορούμε να κάνουμε το ίδιο πράγμα για τον David Malan, για παράδειγμα. 286 00:17:10,849 --> 00:17:13,599 Νομίζω ότι το όνομά του είναι dmalan. 287 00:17:13,599 --> 00:17:16,369 Βλέπουμε David 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 Ας πούμε ότι είμαι ενδιαφέρονται για ό, τι έχει ο David 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 αν μπορούσαν να έχουν πρόσβαση σε κάθε μέρος μόνο της βάσης δεδομένων του Facebook 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 Κάποιοι απαιτούν ορισμένες APIs δικαιώματα προκειμένου να έχουν πρόσβαση στα δεδομένα τους. 302 00:18:03,630 --> 00:18:06,940 Και ακόμα πιο προηγμένη API, όπως το Facebook ένα, 303 00:18:06,940 --> 00:18:09,840 θα απαιτήσει ορισμένα δικαιώματα για να κάνει ορισμένα πράγματα. 304 00:18:09,840 --> 00:18:12,650 Μπορώ να δω αυτές τις βασικές πληροφορίες σχετικά με τον David 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 Για να πάρετε γύρω από αυτό για τώρα, το Facebook έχει αυτό το ωραίο εργαλείο 308 00:18:23,050 --> 00:18:27,690 που είναι η γραφική παράσταση API εξερευνητής, και η ιδέα του ότι είναι ότι μπορείτε να ταξινομήσετε του 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 η οποία λέει ότι μου αρέσει noodles πισίνα, οι οποίες είναι στην κατηγορία Παιχνίδια και παιχνίδια. 316 00:19:06,300 --> 00:19:08,620 Μου αρέσει θαλάσσιους ίππους, που είναι στην κατηγορία των ζώων. 317 00:19:08,620 --> 00:19:10,180 Αυτά είναι πραγματικά συμπαθεί μου στο Facebook. 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 και αν σας ενδιαφέρει χρησιμοποιώντας το Facebook API για CS50 τελικό σχέδιο 327 00:19:37,980 --> 00:19:40,720 ή για κάτι τέτοιο είναι πραγματικά αρκετά εφικτό. 328 00:19:40,720 --> 00:19:44,260 Βασικά πώς μπορείτε να πάρετε γύρω από το θέμα ταυτότητας είναι το Facebook 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 >> Αν η Google Facebook API είναι πολύ ευανάγνωστη. 335 00:20:04,050 --> 00:20:06,670 Υπάρχει μια ολόκληρη spec. 336 00:20:06,670 --> 00:20:10,210 Για παράδειγμα, αυτή είναι η τεκμηρίωση για το Facebook 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 >> Αν έχετε κάνει ένα Facebook app και app σας έχει συγκεκριμένους χρήστες, 351 00:20:59,110 --> 00:21:03,380 και οι χρήστες έχουν προέβλεπε ότι app για να αποκτήσετε πρόσβαση σε ορισμένα μέρη του προφίλ τους, 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 εξετάσει παίζοντας γύρω με το 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 Η συνολική ιδέα, το Facebook API είναι αρκετά περίπλοκη, αλλά και πολύ χρήσιμο. 364 00:21:48,350 --> 00:21:53,220 Σίγουρα αξίζει τον έλεγχο έξω εάν είστε ακόμη ψάχνει για ένα τελικό σχέδιο. 365 00:21:53,220 --> 00:21:57,930 >> Μια άλλη σειρά από APIs που Πάω να πάει πέρα ​​είναι CS50 APIs. 366 00:21:57,930 --> 00:22:00,070 Επιτρέψτε μου να μεγεθύνετε εδώ. 367 00:22:00,070 --> 00:22:03,390 CS50 έχει πραγματικά βάλει μαζί μια ολόκληρη σειρά από APIs 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 Και έτσι μπορούμε να κάνετε κλικ σε κάθε ένα από αυτά και να πάρετε ένα spec για αυτό, 373 00:22:24,510 --> 00:22:28,090 που θα είστε σε θέση να βρείτε για κάθε API, και η ιδέα είναι 374 00:22:28,090 --> 00:22:33,920 αυτό σας επιτρέπει να γνωρίζετε, Α, συγκεκριμένα τι πρέπει να ζητήσει από το 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 και Β, θα μου πείτε ακριβώς τι πρόκειται να δώσει πίσω σε μένα. 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 APIs. 391 00:23:32,550 --> 00:23:36,000 >> Πάω να εξετάσουμε αυτό το API Τροφίμων Χάρβαρντ, ιδίως για λίγο. 392 00:23:36,000 --> 00:23:39,870 Ένα πράγμα που έχω πραγματικά έχουν σχεδιαστεί είναι αυτό του Χάρβαρντ Noms ιστοσελίδα, 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 Μπορούμε να δούμε για brunch έχουμε αυτά τα λίγα είδη διατροφής. 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 η οποία είναι βασικά parsing την ημερομηνία αυτή σε αναγνώσιμη μορφή. 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 jQuery έχει αυτό το σούπερ χρήσιμη λειτουργία AJAX η οποία το μόνο που χρειάζεται να κάνετε είναι να καθορίσετε 424 00:25:41,680 --> 00:25:45,780 μερικές παραμέτρους κάτω εδώ, και θα σας δώσει πίσω ακριβώς ό, τι θέλετε. 425 00:25:45,780 --> 00:25:50,490 Είμαστε αυτό λέει ότι η διεύθυνση URL που θέλουμε να πάμε να είναι αυτό CS50 API Τροφίμων, 426 00:25:50,490 --> 00:25:52,270 που πήραμε από το spec. 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 Έχουμε τη συνάρτηση επιτυχία, που σημαίνει, δεδομένου ότι το ΑΡΙ 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 Αυτό το 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 και Wikipedia. 456 00:27:45,960 --> 00:27:49,800 Wikipedia-προφανώς όλοι γνωρίζετε-είναι μια δωρεάν online εγκυκλοπαίδεια, 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 Απλά να πω hey, Wikipedia 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 Αυτό μπορεί να είναι πραγματικά χρήσιμο εάν θέλετε να κάνετε κάποιο είδος του site 464 00:28:12,230 --> 00:28:16,200 αυτή είναι η καλύτερη για την Wikipedia θεατή ή κάτι τέτοιο. 465 00:28:16,200 --> 00:28:21,350 >> Freebase είναι είδος παρόμοιο, αν και είναι λίγο δύσκολο όσο το API. 466 00:28:21,350 --> 00:28:24,390 Freebase Wikipedia είναι σαν το ότι είναι μια ηλεκτρονική εγκυκλοπαίδεια 467 00:28:24,390 --> 00:28:29,050 το οποίο περιέχει πάρα πολλά διαφορετικά στοιχεία σχετικά με όλα τα είδη των διαφόρων θεμάτων, 468 00:28:29,050 --> 00:28:33,150 αλλά είναι αποθηκευμένο σε μια σχεσιακή βάση δεδομένων, η οποία είναι ελαφρώς διαφορετική από την Wikipedia. 469 00:28:33,150 --> 00:28:36,410 Η Wikipedia έχει άρθρα και άρθρα του που συνδέεται με άλλα είδη, 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 API. 490 00:29:38,740 --> 00:29:44,670 Αλλά σε μεγάλο βαθμό, η Wikipedia είναι μια πολύ απλή θέση για να πάει όσο το να πάρει πληροφορίες. 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 Αυτό είναι στην πραγματικότητα μια άλλη πλατφόρμα που είναι χτισμένο στην Last.fm API, 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 Μπορώ να ζητήσω να δημιουργήσει ένα σύννεφο tag, για παράδειγμα, 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 API εδώ είναι αυτός ο χρήστης. 512 00:31:05,670 --> 00:31:10,710 Θα ήθελα να μάθω το είδος της κάθε τραγούδι που έχω ακούσει ποτέ, 513 00:31:10,710 --> 00:31:15,130 και μπορείτε να το κάνετε αυτό κάνοντας μια πολύ απλή κλήση AJAX στο Last.fm API. 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 και η ιδέα του περιορισμού της ταχύτητας είναι που δεν θέλουν να κάνουν κατάχρηση APIs. 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 Για παράδειγμα, αν είστε κολλημένοι σε ένα άπειρο βρόχο που είναι απείρως επερώτηση 526 00:31:57,610 --> 00:32:00,680 κάποιο είδος της API και να πάρει πίσω ένα τεράστιο ποσό των δεδομένων, 527 00:32:00,680 --> 00:32:04,570 Προφανώς αυτό δεν είναι καλό, έτσι ώστε ό, τι πολλά APIs κάνει είναι να περιορίζει το ποσοστό αυτό το χαρακτηριστικό 528 00:32:04,570 --> 00:32:09,970 που λέει ότι μπορεί να κάνει μόνο 1.000 αιτήσεις ανά ημέρα ανά διεύθυνση 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 spec προσεκτικά. 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 Όσο παίζετε σε αυτούς τους κανόνες θα έχετε πιθανώς μια πολύ ωραία στιγμή χρησιμοποιώντας APIs. 538 00:32:38,360 --> 00:32:42,030 Συνολικό πακέτο σας είναι APIs είναι πραγματικά, πραγματικά χρήσιμο. 539 00:32:42,030 --> 00:32:45,610 >> Υπάρχει ένα API για σχεδόν κάθε μεγάλη διαδικτυακή υπηρεσία εκεί έξω. 540 00:32:45,610 --> 00:32:50,700 Λίγο πολύ κάθε μέρος του Google Tools Suite, το Google Maps, Google Earth, 541 00:32:50,700 --> 00:32:54,390 GMail, Google Calendar, όλα αυτά τα πράγματα έχουν APIs. 542 00:32:54,390 --> 00:32:58,280 Μπορείτε να τα χρησιμοποιήσετε για να πάρετε τόσο τα δεδομένα από το διακομιστή και να στείλει δεδομένα στον server. 543 00:32:58,280 --> 00:33:00,870 Με άλλα λόγια, αν ήθελε να κάνει μια εφαρμογή ημερολογίου που μπορεί να ενημερώσει 544 00:33:00,870 --> 00:33:04,190 Google Calendar κάποιου, υπάρχει ένα API για αυτό. 545 00:33:04,190 --> 00:33:07,810 Αν θέλετε να κάνετε κάτι που θα σας πω, όπου 546 00:33:07,810 --> 00:33:12,530 η τοποθεσία του είναι συγκεκριμένη διεύθυνση μπορείτε να χρησιμοποιήσετε το Google Maps API για αυτό. 547 00:33:12,530 --> 00:33:15,860 APIs είναι φανταστικά χρήσιμο, και είναι παντού. 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 με κάτι σε γενικές γραμμές, APIs είναι σίγουρα αξίζει να κάνει. 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]