Τι είναι το API σε διαδικτυακές εφαρμογές και γιατί χρειάζεται; Σύνδεση και εργασία με vk api

Εργαλείο 04.07.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Απρίλιος 2018. Ήμουν 14. Οι φίλοι μου και εγώ παίξαμε το τότε πολύ δημοφιλές διαδικτυακό κουίζ «Τριφύλλι» από το VKontakte. Ένας από εμάς (συνήθως εγώ) βρισκόμουν πάντα στο φορητό υπολογιστή για να προσπαθήσει να κάνει γρήγορα ερωτήσεις στο Google και να χρησιμοποιήσει τα μάτια μας για να αναζητήσει τα αποτελέσματα αναζήτησης για τη σωστή απάντηση. Αλλά ξαφνικά συνειδητοποίησα ότι έκανα την ίδια ενέργεια κάθε φορά και αποφάσισα να προσπαθήσω να τη γράψω στην Python 3, που μου ήταν εν μέρει γνωστή εκείνη την εποχή.

Βήμα 0. Τι συμβαίνει εδώ

Πρώτα, θα ανανεώσω τη μνήμη σας για τους μηχανικούς του Clover.

Το παιχνίδι ξεκινά την ίδια ώρα για όλους - στις 13:00 και στις 20:00 ώρα Μόσχας. Για να παίξετε, πρέπει να μεταβείτε στην εφαρμογή αυτήν τη στιγμή και να συνδεθείτε στη ζωντανή μετάδοση. Το παιχνίδι διαρκεί 15 λεπτά, κατά τη διάρκεια των οποίων οι συμμετέχοντες καλούν ταυτοχρόνωςέρχονται ερωτήσεις. Η απάντηση δίνεται 10 δευτερόλεπτα.Στη συνέχεια ανακοινώνεται η σωστή απάντηση. Όλοι όσοι μάντεψαν σωστά προχωρούν. Υπάρχουν 12 ερωτήσεις συνολικά και αν απαντήσετε σε όλες, θα λάβετε ένα χρηματικό έπαθλο.

Αποδεικνύεται ότι το καθήκον μας είναι να συλλάβουμε αμέσως νέες ερωτήσεις από τον διακομιστή Clover, να τις επεξεργαστούμε μέσω κάποιας μηχανής αναζήτησης και να καθορίσουμε τη σωστή απάντηση με βάση τα αποτελέσματα. Αποφασίστηκε να δοθεί η απάντηση σε ένα bot τηλεγραφήματος, έτσι ώστε οι ειδοποιήσεις από αυτό να εμφανίζονται στο τηλέφωνο κατά τη διάρκεια του παιχνιδιού. Και όλα αυτά είναι επιθυμητά σε λίγα δευτερόλεπτα, γιατί ο χρόνος απάντησης είναι πολύ περιορισμένος. Αν θέλετε να δείτε πώς ένας αρκετά απλός αλλά λειτουργικός κώδικας (και θα είναι χρήσιμος για αρχάριους να το δουν αυτό) μας βοήθησε να νικήσουμε το Clover, καλώς ήρθατε στη γάτα.

Γεια σε όλους!

Ήθελα να συνεργαστώ με το VKontakte API, ώστε να μπορώ να διαχειρίζομαι πλήρως τον λογαριασμό μου και τις ομάδες/δημόσια απευθείας από σενάρια. Και όλα γίνονται σε PHP. Παρεμπιπτόντως, υπάρχει ένα κατάλληλο Gem για το Ruby και για την PHP υπάρχουν ένα σωρό άρθρα, τα μισά από τα οποία περιέχουν ήδη άσχετες πληροφορίες. Τι πρέπει να κάνουμε λοιπόν;

Όπως λένε, αυτός που ψάχνει πάντα θα βρίσκει. Ένα κατάλληλο έργο βρέθηκε στο GitHub - vkPhpSdk, το οποίο απλοποιεί σημαντικά την εργασία με αυτό το κοινωνικό δίκτυο

Αρχικά, σημειώνω ότι υπάρχουν δύο επιλογές για εργασία εδώ:

2) Με τη δημιουργία εφαρμογής και επακόλουθη εξουσιοδότηση χρήστη για εργασία.

Θα εξηγήσω εν συντομία τις διαφορές. Στην πρώτη περίπτωση, μπορείτε απλά να υποβάλετε αιτήματα στο API χωρίς καμία εξουσιοδότηση και να λάβετε διάφορα δεδομένα. Για παράδειγμα, μια λίστα φίλων ενός συγκεκριμένου χρήστη, μηνύματα από τον τοίχο κ.λπ. Σχεδόν όλες οι λειτουργίες λήψης είναι διαθέσιμες χωρίς access_token. Επομένως, κάθε είδους διαφορετικοί αναλυτές και άλλα πράγματα μπορούν να κοπούν έτσι.

Η δεύτερη επιλογή προϋποθέτει επίσης τη δυνατότητα δημοσίευσης αρχείων, λήψης ιατρικού περιεχομένου και γενικά πλήρους διαχείρισης του λογαριασμού σας (ακόμα και οι καταστάσεις μπορούν να οριστούν, lol). Αλλά εδώ πρέπει επίσης να δημιουργήσετε Αυτόνομη εφαρμογή(Μην επιλέξετε μια εφαρμογή για μια τοποθεσία Web, δεν είναι δυνατό να υποβάλετε καθορισμένα αιτήματα από αυτήν) και αποκτήστε ορισμένα δικαιώματα για αυτήν από τον χρήστη.

Ετσι. Ας δούμε ένα παράδειγμα από το vkPhpSdk:

api("getProfiles", array("uids" => $vkPhpSdk->getUserId(), "fields" => "uid, first_name, last_name, nickname, screen_name, photo_big",));

echo "Το προφίλ μου:(br/)";

ηχώ "(προ)"; //ο αναλυτής του ιστότοπου μόλις χαλάει, νομίζω ότι μπορείτε να μαντέψετε τι πρέπει να γίνει =) print_r($result);

ηχώ "(/προ)"; ?>

Εδώ λαμβάνουμε απλώς δεδομένα για τον χρήστη. Τα πεδία καθορίζονται στο αίτημα.

authorize() === true) ( ​​// Init vk.com SDK $vkPhpSdk = new VkPhpSdk(); $vkPhpSdk->setAccessToken($oauth2Proxy->getAccessToken()); $vkPhpSdk->-SetUserId($othProx >getUserId ()); σε vkPhpSdk !",)); echo "Απόκριση ανάρτησης τοίχου: (br /)"; echo "(pre)"; print_r($result); echo "(/pre)"; ) else echo "Παρουσιάστηκε σφάλμα"; ?>

Και τώρα εδώ δημοσιεύουμε ένα μήνυμα στον τοίχο του χρήστη. Αφού επισκεφτεί τη σελίδα με αυτόν τον κωδικό, θα εμφανιστεί ένα αίτημα για δικαιώματα από την εφαρμογή. Εάν ο χρήστης συμφωνεί, μια ανάρτηση αναρτάται στον τοίχο του.

Το Client_id και το client_secret μπορούν να ληφθούν κατά τη δημιουργία της εφαρμογής

Η παράμετρος scope περνά στην άδεια λειτουργίας για την εκτέλεση που απαιτεί η εφαρμογή

Σε αυτό το παράδειγμα, έγραψα όλες τις λειτουργίες, συμπεριλαμβανομένων των λειτουργιών εκτός σύνδεσης. Η ιδιαιτερότητα αυτής της συνάρτησης είναι τέτοια που έχοντας λάβει ένα access_token μία φορά, μπορείτε απλά να το σπρώξετε στο $vkPhpSdk->setAccessToken και να μην καλέσετε καν το Oauth2Proxy. Ως αποτέλεσμα, η εφαρμογή θα λειτουργεί με τα δικαιώματα ενός εξουσιοδοτημένου χρήστη μέχρι να αλλάξει τον κωδικό πρόσβασης. Αυτό θα είναι χρήσιμο εάν γράψετε ένα bot και, αφού το εξουσιοδοτήσετε μία φορά, θα το ελέγξετε από το σενάριο.
Ζωτικές λεπτομέρειες και προσεγγίσεις κάτω από την περίληψη.

Τυχαίνει το VK API να υλοποιείται αρκετά καλά, με εξαίρεση ορισμένα παράλογα σημεία, τα οποία θα αναφέρω αργότερα. Σήμερα όμως δεν μιλάμε για ποιότητα, αλλά για συγκεκριμένη εφαρμογή.

Είναι άμεσα απαραίτητο να κάνω κράτηση εκτός από την περιγραφή, θα παράσχω κομμάτια κώδικα εργασίας για τη βιβλιοθήκη μου, έναν σύνδεσμο στον οποίο θα δώσω στο τέλος του άρθρου. Η βιβλιοθήκη λειτουργεί στην πιο πρόσφατη σταθερή έκδοση 5.5, εάν αποκόψετε τις γεννήτριες από την απόδειξη παρτίδας, θα πρέπει να λειτουργεί στην 5.4.

  • Εξουσιοδότηση διακομιστή (η λεγόμενη εξουσιοδότηση ιστότοπου)
  • Εξουσιοδότηση πελάτη (Ανεξάρτητη)
  • Εξουσιοδότηση διακομιστή εφαρμογών
Τα πιο ενδιαφέροντα για τον προγραμματιστή είναι τα δύο πρώτα. Το πρώτο σάς επιτρέπει να εξουσιοδοτήσετε έναν χρήστη στον ιστότοπο και να λάβετε το κλειδί πρόσβασής του, το δεύτερο σας επιτρέπει να εξουσιοδοτήσετε την εφαρμογή σας, για παράδειγμα Dekstop ή Mobile. Κοιτάζοντας μπροστά, η δεύτερη επιλογή μας παρέχει τεράστιες ευκαιρίες και η πρώτη, μόνο ένα μικρό μέρος από αυτές.

Ο αλγόριθμος λήψης στην πρώτη περίπτωση συνοψίζεται στην εκτέλεση των ακόλουθων σημείων:

  • Εμφανίζουμε έναν σύνδεσμο για εξουσιοδότηση χρήστη, τον οποίο μορφοποιούμε σύμφωνα με την τεκμηρίωση
  • Ο χρήστης το ακολουθεί και συνδέεται
  • Ο χρήστης ανακατευθύνεται στο REDIRECT_URI της εφαρμογής μας με την παράμετρο κωδικού GET
  • Η εφαρμογή μας πρέπει να υποβάλει αίτημα στο API που περιέχει κωδικό για να αποκτήσει το κλειδί πρόσβασης του χρήστη
  • Το API αποκρίνεται είτε με ένα αντικείμενο που περιέχει το κλειδί πρόσβασης είτε με ένα σφάλμα.

Ένα παράδειγμα κώδικα με τον οποίο μπορείτε να ολοκληρώσετε αυτήν τη δύσκολη εργασία.

$auth = getjump\Vk\Auth::getInstance(); $auth->setAppId("3470411")->setScope("SCOPE")->setSecret("SECRET CODE")->setRedirectUri("http://localhost/test.php"); $token=$auth->startCallback(); printf("LINK", $auth->getUrl());

Υποτίθεται ότι ο τομέας μας είναι localhost και το τρέχον αρχείο είναι test.php. Εάν όλα πήγαν καλά, τότε η μεταβλητή $token θα περιέχει το κλειδί πρόσβασης του χρήστη που έχει εξουσιοδοτηθεί.

Από τη στιγμή που έχουμε το κλειδί πρόσβασης, μπορούμε να εκτελέσουμε Αιτήματα API. Η γενική λογική αιτήματος είναι απλή, περνάτε ένα ειδικά διαμορφωμένο αίτημα στη διεύθυνση URL του API. Το αίτημα πρέπει να περιέχει το όνομα της μεθόδου και τα ορίσματα.

api.vk.com/method/METHOD_NAME?PARAMETERS&access_token=ACCESS_TOKEN

Κατάλογος μεθόδων, αυτό είναι ένα από τα πλούσια στοιχεία του API. Σε αυτό μπορείτε να βρείτε μεθόδους που δεν απαιτούν κλειδί πρόσβασης για την εργασία τους, επομένως μπορείτε να τους καλέσετε χωρίς να το λάβετε.

Όταν χρησιμοποιούμε τη βιβλιοθήκη, πρέπει να δημιουργήσουμε ένα βασικό αντικείμενο, όπως αυτό:
$vk = getjump\Vk\Core::getInstance()->apiVersion("5.5")->setToken($token);

Μερικά παραδείγματα ερωτημάτων που χρησιμοποιούν τη βιβλιοθήκη:

Ακριβώς 100 αντικείμενα θα περάσουν από την ανώνυμη συνάρτηση σε καθένα, που περιέχει δεδομένα για χρήστες από το 1 έως το 100. Σημειώστε ότι εάν αφαιρέσουμε την κλήση συνάρτησης, δεν θα προκύψει αίτημα, και όλα αυτά επειδή θα επιστραφεί ένα αντικείμενο που έχει τις μαγικές μεθόδους __call και __get παρακάμπτεται, το οποίο μας επιτρέπει να υποβάλουμε ένα αίτημα όταν το χρειαζόμαστε πραγματικά.
$vk-> request("users.get", ["user_ids" => range(1, 100)])->each(function($i, $v) ( if($v->last_name == "" ) return;
"; });

Ένα από τα πράγματα που μας ανοίγει η χρήση γεννητριών είναι η λήψη παρτίδων. Δηλαδή, λαμβάνουμε δεδομένα μόνο όταν τα χρειαζόμαστε. Το παρακάτω παράδειγμα θα μας επιτρέψει να λαμβάνουμε ΟΛΑ τα μηνύματά μας, σε αιτήματα των 100. Να είστε προσεκτικοί, μέθοδοςαπαιτεί να έχετε δικαιώματα για μηνύματα, αυτόνομες εφαρμογές, την ίδια εξουσιοδότηση και, κατά συνέπεια, μεταφορά του κλειδιού πρόσβασης.
foreach($vk->request("messages.get")->batch(100) as $data) ( $data->each(function($i, $m) ( if(isset($m->body) ) print $m->body .

Μια καλή μέθοδος που μπορεί να βρεθεί στο API είναι εκτελώ. Παίρνει μια παράμετρο κώδικα ως όρισμα, ο κώδικας είναι κάποιο ψευδο JavaScript που μας επιτρέπει να εκτελέσουμε τον κώδικά μας από την πλευρά του διακομιστή και μας επιτρέπει επίσης να εκτελέσουμε αποθηκευμένες διαδικασίες που μπορούμε να δημιουργήσουμε κατά την επεξεργασία της εφαρμογής μας.

Δεν μπορούσα να αγνοήσω αυτό το πράγμα και το εφάρμοσα στη βιβλιοθήκη. Με λίγα λόγια, σας επιτρέπει να εκτελέσετε πολλαπλά ερωτήματα ως ένα. Δείτε το ακόλουθο παράδειγμα κώδικα.

$js1 = $vk->request("messages.get", ["count" => 200, "offset" =>0 * 200])->toJs(); // Επιστρέφει ένα αντικείμενο τύπου VkJs $js2 = $vk->request("messages.get", ["count" => 200, "offset" =>1 * 200])->toJs(); $js3 = $vk->request("messages.get", ["count" => 200, "offset" =>2 * 200])->toJs(); $js4 = $vk->request("messages.get", ["count" => 200, "offset" =>3 * 200])->toJs(); $js1 ->append($js2) // Προσθέτουμε το js2 στο js1 ->append($js3) ->append($js4) ->execute() // Θέλουμε να το εκτελέσουμε (αυτό θα επιστρέψει στην πραγματικότητα ένα RequestTransaction) - >απόκριση //Το αίτημα θα εκτελεστεί μόνο τώρα ->κάθε(συνάρτηση($i, $v) //Η πρώτη ανώνυμη συνάρτηση απαιτείται για τη διέλευση όλων των στοιχείων του πίνακα που λαμβάνονται από την εκτέλεση (πίνακας 4 στοιχείων, 4 αιτήματα ) ( $v->each( συνάρτηση($c, $d) ( // Επόμενο για να δείτε και τα 200 μηνύματα σε κάθε πίνακα if(isset($d->body)) print $d->body; // Εκτύπωση ένα μήνυμα εάν υπάρχει τέτοιο πεδίο ) ) );

Όπως υποσχέθηκε, μια από αυτές τις παρεξηγήσεις που μπορεί να συναντήσετε στην τρέχουσα έκδοση του API (5.21), η μέθοδος

Με ρωτάνε συχνά πώς να εργαστείτε με το API. Το πιο δημοφιλές πρόβλημα που σχετίζεται με API, είναι - εργασία με το VKontakte API. Σε αυτό το άρθρο θα δείξω πώς να εργαστείτε με το VKontakte API, και, το πιο σημαντικό, θα σας το δείξω όλα τα API λειτουργούν με την ίδια αρχή.

Εδώ διαδικασίαπου πρέπει να κάνετε για να το κάνετε ξεκινήστε να εργάζεστε με οποιοδήποτε API:

  1. Εύρημα απόδειξη με έγγραφαόπως χρειάζεται API.
  2. Ματιά Παραδείγματα σύνδεσης API. Μπορεί να υπάρχουν διαφορετικές επιλογές εδώ. Για παράδειγμα, μια υπηρεσία θα απαιτεί ένα μυστικό κλειδί που εκδίδεται μετά την εγγραφή. Στη δεύτερη υπηρεσία, όλα τα αιτήματα δεν απαιτούν μυστικά κλειδιά. Στην τρίτη υπηρεσία, υπάρχουν επιλογές για εργασία με και χωρίς μυστικό κλειδί. Μερικές φορές, καλείται το μυστικό κλειδί ένδειξη.
  3. Αντίγραφο απλός έτοιμος κώδικαςαπό τον ιστότοπο τεκμηρίωσης και ελέγξτε τη λειτουργία του. Εάν δεν λειτουργεί, τότε αναζητήστε μόνοι σας το σφάλμα, καθώς η υπηρεσία είναι απίθανο να έχει.
  4. Εύρημαστην τεκμηρίωση μέθοδος, που λύνει το πρόβλημά σας.
  5. Χρησιμοποιώντας παραδείγματα και περιγραφή της μεθόδου, στείλτε το σωστό αίτημα στο API.
  6. Ανάλογα με τη μορφή της απάντησης, αναλύστε την σε " εξαρτήματα", και μετά κάντε ό,τι απαιτείται - εμφανίστε το στον χρήστη, αποθηκεύστε το σε ένα αρχείο, στείλτε το στη βάση δεδομένων και παρόμοια.

Και ως παράδειγμα ακολουθώντας αυτές τις οδηγίες, θα εξετάσουμε VKontakte API. Ετσι:

  1. Σύνδεσμος προς απόδειξη με έγγραφα.
  2. Σε αυτήν την περίπτωση, υπάρχουν μέθοδοι που είναι δημόσιες και επομένως δεν απαιτούν διακριτικό, και υπάρχουν μέθοδοι που απαιτούν ένα.
  3. Σε αυτή την περίπτωση, δεν βρήκα παραδείγματα σε συγκεκριμένη γλώσσα. Ίσως είναι εκεί, αλλά σαφώς όχι σε κοινή θέα. Συνήθως, στο APIΥπάρχουν παραδείγματα για κάθε μέθοδο σε διαφορετικές γλώσσες.
  4. Θέλουμε να αποσυρθούμε 5 πιο πρόσφατες αναρτήσεις από τον τοίχο ενός συγκεκριμένου χρήστη και, στη συνέχεια, εμφανίστε τις στον ιστότοπό σας. Η μέθοδος που χρειαζόμαστε.

Τώρα πρέπει στείλτε ένα αίτημα στο APIχρησιμοποιώντας την περιγραφή της μεθόδου. Αυτό θα το κάνουμε μέσω PHP:

$wall = file_get_contents("https://api.vk.com/method/wall.get?v=5.3&filter=others&domain=myrusakov&count=5");
print_r($wall);
?>

Σε αυτή την περίπτωση, χρησιμοποιώ API 5.3 (v=5,3), εμφανίζω όλες τις καταχωρήσεις ανεξάρτητα από τον συγγραφέα ( φίλτρο=άλλοι) από τη σελίδα σας ( τομέας=myrusakov) σε ποσότητα 5 πράγματα ( καταμέτρηση=5). Νομίζω ότι όλα είναι πολύ διαφανή εδώ.

Λάβαμε μια απάντηση στη μορφή JSON, και τώρα πρέπει να προχωρήσουμε στο τελευταίο σημείο - αναλύοντας την απάντηση στο " εξαρτήματαΣτη συνέχεια, θα εμφανίσουμε τις αναρτήσεις από τον τοίχο σε μια περισσότερο ή λιγότερο ευανάγνωστη μορφή στη σελίδα του ιστότοπού μας. Το αποτέλεσμα Κώδικας PHP:

$wall = file_get_contents("http://api.vk.com/method/wall.get?v=5.3&filter=others&domain=myrusakov&count=5"); // Αποστολή του αιτήματος
$wall = json_decode($wall); // Μετατροπή της συμβολοσειράς JSON σε πίνακα
$wall = $wall->response-> items; // Λάβετε μια σειρά από σχόλια
για ($i = 0; $i< count($wall); $i++) {
ηχώ"

".($i + 1).". ".$wall[$i]->κείμενο."
".date("Y-m-d H:i:s", $wall[$i]->date)."

"; // Εμφάνιση εγγραφών
}
?>

Όπως μπορείτε να δείτε, όλα είναι πολύ απλά. Το πιο δύσκολο είναι να το χωρίσεις στα συστατικά στοιχεία του. Προτιμώ να βγάζω το αποτέλεσμα από APIδιά μέσου print_r, και μόνο τότε γράψτε την επεξεργασία αυτού. Αν και μπορείτε να δείτε ένα παράδειγμα απάντησης στην περιγραφή της μεθόδου και στη συνέχεια να γράψετε έναν αναλυτή.

Κυκλοφόρησε ένα νέο βιβλίο, το Social Media Content Marketing: How to Get Inside Your Followers' Heads and Make Them Fall Fall with Your Brand.

Συνεισφέρω

Ένα API είναι μια εξωτερική διεπαφή για τον προγραμματισμό μιας εφαρμογής, την πρόσβαση σε ιστότοπους χρησιμοποιώντας ένα συγκεκριμένο πρωτόκολλο για τη λήψη πληροφοριών και την απλοποιημένη ανάπτυξη προγραμμάτων που σχετίζονται με εσωτερικές υπηρεσίες.

Τι σημαίνει API;

Η απλούστερη αναλογία για τη χρήση ενός API θα ήταν η χρήση μιας αριθμομηχανής για την εκτέλεση πολύπλοκων υπολογισμών. Ας υποθέσουμε ότι έχετε μια εργασία, μπορείτε να κατανοήσετε την ουσία της, να δημιουργήσετε εξισώσεις και γραφήματα, αλλά δεν ξέρετε πώς να εκτελείτε αριθμητικές πράξεις με αριθμούς. Υπάρχει μια αριθμομηχανή δίπλα σας που μπορεί να κάνει αυτές τις λειτουργίες με ευκολία. Δεν ξέρετε τι συμβαίνει μέσα στον υπολογιστή και δεν χρειάζεται να ξέρετε. Δίνετε πληροφορίες με μια μορφή και τις λαμβάνετε με άλλη, απαραίτητη για τους σκοπούς σας.

Οποιοδήποτε API λειτουργεί βάσει αυτής της αρχής. Δεν σας ενδιαφέρει πώς θα λάβει την απάντηση το πρόγραμμα, ποια διαδρομή ακολουθεί το αίτημα μέσα σε αυτό, πώς εκτελούνται οι υπολογισμοί. Είστε σίγουροι μόνο για ένα πράγμα - σε απάντηση, θα δοθούν τυποποιημένες πληροφορίες σχετικά με την επιτυχία της λειτουργίας ή το σφάλμα της.

Η διεπαφή API σάς επιτρέπει να μην σπαταλάτε χρόνο, χρήμα και προσπάθεια για την αγορά ενός «νέου ποδηλάτου». Λαμβάνετε μια λειτουργική θύρα πληροφοριών που λαμβάνει και αποστέλλει τις απαραίτητες ποσότητες δεδομένων για τους σκοπούς της ανάπτυξής σας.

Πλεονεκτήματα:

  • Εξοικονόμηση στην ανάπτυξη της δικής σας διεπαφής.
  • Δεν χρειάζεται να κατανοήσουμε τις αποχρώσεις του ζητήματος.
  • Τα API αναπτύσσονται από επαγγελματίες και λαμβάνουν υπόψη όλους τους παράγοντες των εσωτερικών διαδικασιών που μπορεί να μην γνωρίζετε κατά τη δημιουργία της λύσης σας.
  • Σας επιτρέπει να επικοινωνείτε με υπηρεσίες που είναι κλειστές μέσω άλλων πρωτοκόλλων.

Μειονεκτήματα:

  • Εάν η υπηρεσία προορισμού ενημερωθεί, το API δεν λαμβάνει πάντα αμέσως πλήρη λειτουργικότητα.
  • Δεν μπορείτε να εντοπίσετε σφάλματα και να μην ξέρετε πώς λειτουργεί η διαδικασία στον κώδικα κάποιου άλλου.
  • Το API δεν δίνει πάντα το πιο βελτιστοποιημένο αποτέλεσμα από άποψη χρόνου, καθώς έχει σχεδιαστεί για να χειρίζεται γενικές περιπτώσεις, όχι συγκεκριμένες.

Παραδείγματα API

Η ενοποίηση API είναι η διαδικασία σύνδεσης μιας εφαρμογής σε μια εξωτερική διεπαφή δεδομένων. Η εργασία με το API ξεκινά με τη μελέτη της τεκμηρίωσης και των πρωτοκόλλων που χρησιμοποιούνται και στη συνέχεια με την απευθείας ενσωμάτωση του προγράμματός σας στη διεπαφή. Ας δούμε τις πιο δημοφιλείς υπηρεσίες που έχουν το δικό τους API.

ΒΚΑΠΗ

Εξωτερική διεπαφή για την αλληλεπίδραση του δημοφιλούς κοινωνικού δικτύου VKontakte με πελάτες, καθώς και με εφαρμογές προγράμματος περιήγησης και διακομιστή. Σας επιτρέπει να διαχειρίζεστε μηνύματα κοινότητας, εξώφυλλα ομάδων, σελίδες χρήστη, εάν έχετε τα κατάλληλα κλειδιά πρόσβασης.

Όλα τα αιτήματα υποβάλλονται στη διεύθυνση https://api.vk.com/method/

Μετά την κάθετο έρχεται το όνομα της μεθόδου API που χρησιμοποιείται και οι παράμετροι GET του αιτήματος μεταδίδονται. Η απάντηση έρχεται επίσης μέσω HTTPS σε μορφή JSON.

TELEGRAM BOT API

Ένα από τα πιο δημοφιλή API. Χρησιμοποιείται για τον έλεγχο των bots στο Messenger του Telegram. Αφού δημιουργήσετε ένα bot μέσω του @botfather και αποκτήσετε τα απαραίτητα κλειδιά πρόσβασης, μπορείτε να αρχίσετε να αλληλεπιδράτε με το backend.

Αιτήματα μπορούν να υποβληθούν σε: https://api.telegram.org/bot0000000:token/

Όπου αντί για bot0000000 τοποθετείται το μοναδικό αναγνωριστικό του bot σας και το διακριτικό εκφράζει το μυστικό κλειδί.

Τα αιτήματα αποστέλλονται μέσω συνδέσεων HTTPS, το όνομα της μεθόδου υποδεικνύεται με κάθετο στην κύρια διεύθυνση. Η απάντηση έρχεται σε μορφή JSON.

ΑΝΟΙΞΤΕ API ΧΑΡΤΗ ΚΑΙΡΟΥ

Συχνά είναι απαραίτητο να λαμβάνετε πληροφορίες για τον καιρό χωρίς τη χρήση γραφικών στοιχείων τρίτων και εφαρμογών επί πληρωμή. Η υπηρεσία OpenWeatherMap έρχεται στη διάσωση με ένα ανοιχτό και δωρεάν API. Αφού εγγραφείτε και λάβετε δεδομένα αναγνώρισης, μπορείτε να στείλετε αιτήματα καιρού από σενάρια διακομιστή σε όλο τον κόσμο. Σε απάντηση στο αναγνωριστικό πόλης, ο πόρος επιστρέφει τις πιο λεπτομερείς πληροφορίες σχετικά με τον τρέχοντα καιρό και παρέχει μια πρόβλεψη για το εγγύς μέλλον.

Μορφή: Μετάδοση HTTP μέσω api.openweathermap.org/data/2.5/weather?id= που υποδεικνύει τον αριθμό αναγνώρισης της επιθυμητής πόλης. Απόκριση διακομιστή: JSON.

GOOGLE MAPS API

Τι θα μπορούσε να είναι καλύτερο από έναν διαδραστικό παγκόσμιο χάρτη σε έναν ιστότοπο; Ειδικά αν δεν πρόκειται για ένθετο προτύπου από τους Χάρτες Google, αλλά για την προσωπική σας έκδοση ενός δημοφιλούς χάρτη με προσωπικά συμπλέγματα δεικτών. Ο χάρτης θα αλληλεπιδράσει με άλλα σενάρια στον ιστότοπο, στέλνοντας πληροφορίες σχετικά με τα κλικ και τις συντεταγμένες.

Το Google Maps JavaScript API προσφέρει παρόμοιες δυνατότητες. Η ενότητα είναι πλήρως γραμμένη και λειτουργεί από την πλευρά του προγράμματος περιήγησης, επομένως δεν χρειαζόμαστε αιτήματα HTTP από την PHP και σχηματισμό κεφαλίδων από την πλευρά του διακομιστή, όπως συνέβαινε σε άλλα API.

Για παράδειγμα, η τοποθέτηση ενός δείκτη σε έναν χάρτη θα μοιάζει με αυτό:

var mark = new google.maps.Marker((
θέση: myPOS,
χάρτης: χάρτης,
title:"Γεια σου!"
});

Ποια είναι η ανάγκη και τα οφέλη από τη χρήση του API;

Υπάρχουν πολλές χρήσιμες λειτουργίες.

Πρώτη πτυχή

Μπορείτε να δημιουργήσετε διαδραστική αλληλεπίδραση χρήστη με κοινωνικά δίκτυα και άμεσους αγγελιοφόρους, να χρησιμοποιήσετε τις δυνατότητες υπολογιστικών συστημάτων τρίτων για να εμφανίσετε τις συναλλαγματικές ισοτιμίες, τον καιρό και άλλες σημαντικές πληροφορίες.

Χρησιμοποιώντας το API, μπορείτε να συνδέσετε άμεσα άλλους πόρους και λύσεις λογισμικού με διακομιστές, οι οποίοι κανονικά θα χρειάζονταν εβδομάδες ανάπτυξης. Το API απλοποιεί τη ζωή όπου δεν απαιτείται μια μοναδική υλοποίηση και η αξιοπιστία και η ασφάλεια αποτελούν προτεραιότητα.

Δεύτερη πτυχή

Εάν είστε κάτοχος πολύπλοκης υπολογιστικής ισχύος, μιας δημοφιλής υπηρεσίας ή αποθήκευσης δεδομένων για δημόσια ή ημι-ιδιωτική πρόσβαση, τότε μια καλή κίνηση θα ήταν να δημιουργήσετε το δικό σας API. Τι θα δώσει:

  • Μεγάλη ροή πελατών.
  • Απλοποιημένη πρόσβαση στις υπηρεσίες σας για τους συνεργάτες.
  • Ευκολία στατιστικής ανάλυσης χρήσης υπηρεσιών.

Τρίτη πτυχή

Σχεδόν το ίδιο με το δεύτερο. Χωρίς όμως να χρειάζεται να εφαρμόσετε ένα API ανοιχτής πρόσβασης. Εάν έχετε μια πύλη και θέλετε να δημιουργήσετε μια εφαρμογή για κινητά για αυτήν σε Android/IOS, τότε η επανεγγραφή του συστήματος σε ένα μόνο API είναι η καλύτερη λύση. Ολόκληρη η δομή δεδομένων είναι συστηματοποιημένη. Ο ιστότοπος και η εφαρμογή θα λειτουργούν μέσω μεμονωμένων καναλιών δεδομένων.



Συνιστούμε να διαβάσετε

Κορυφή