Transformez les erreurs en opportunités avec ces 404 pages inspirantes
Conception De L'interface Utilisateur
Les API de réseaux sociaux ont parcouru un long chemin depuis que Google a publié la première version de son API YouTube en mai 2008 et Facebook a publié la première version de l'API Graph en avril 2010. Aujourd'hui, ces API vous permettent d'interroger les plateformes de réseaux sociaux pour des publications. , utilisateurs, canaux et données démographiques. Ils vous permettent même de créer votre propre service ou d'en savoir plus sur votre base d'utilisateurs.
Dans cet article, nous examinerons les façons dont nous pouvons utiliser certaines des API de réseaux sociaux populaires:
Nous discuterons également de leurs limites et explorerons certains des outils utiles disponibles pour une utilisation avec ces API. Plus loin dans l'article, nous verrons également comment intégrer ces API dans n'importe quel Rails application.
Je vais me concentrer sur une API de réseau social à la fois et expliquer ses capacités, ses limites et les outils disponibles. Il y aura une matrice avec les différentes API et leurs propriétés pour une meilleure comparaison plus loin dans cet article.
Pour utiliser les API, vous devez d'abord configurer une application qui crée des requêtes au nom de votre application avec des requêtes basées sur OAuth. Les utilisateurs s'authentifieront auprès de votre application et vous pourrez ensuite accéder à leurs données avec le jeton d'accès utilisateur résultant.
Le FQL (Facebook Query Language), désormais obsolète, était un langage de requête de type SQL qui pouvait être utilisé pour accéder à toutes les données de Facebook.
Facebook a publié la première version de son API Graph en avril 2010. La version la plus récente au moment de la rédaction de cet article est la 2.6 qui a été introduite le 12 avril 2016. Il s'agit d'une API HTTP de bas niveau qui peut être utilisée pour interroger des données, créez des publications et même créez des campagnes publicitaires automatisées.
combien y a-t-il de sites de rencontre différents
La Explorateur d'API Graph est l'outil le plus couramment utilisé lorsque vous travaillez avec l'API Facebook. Il vous permet d'exécuter des requêtes de l'API Graph dans le navigateur et d'examiner les résultats: vous pouvez utiliser l'un des jetons d'accès de votre application ou en créer un à la volée avec les étendues sélectionnées.
L'API Graph est une API basée sur REST qui vous permet de créer, mettre à jour et supprimer des objets par requête HTTP sur certains nœuds.
Pour exécuter des requêtes sur l'API Graph, vous avez besoin d'un jeton d'accès qui est obtenu dès qu'un utilisateur autorise avec succès dans votre application. Le jeton d'accès doit être stocké par votre application.
Les étendues déterminent les actions qui peuvent être effectuées au nom d'un utilisateur. L'application demande certaines étendues lorsqu'un utilisateur autorise dans une application. Le publish_actions
scope, par exemple, permet à une application de publier des publications au nom d'un utilisateur. L'étendue de l'e-mail permet à l'application de lire l'e-mail de l'utilisateur. Un aperçu complet de tous les champs d'application est répertorié dans la documentation officielle .
Certaines portées comme le publish_actions
ou ads_management
nécessitent un examen par Facebook avant la sortie de l'application.
Pour démontrer le fonctionnement de l'API Graph, je vais vous montrer comment lire, créer, mettre à jour et supprimer des publications avec l'API.
Pour obtenir vos propres messages, vous pouvez exécuter la requête GET /me/posts
. Le résultat sera une chaîne JSON avec une liste de publications, y compris leur message, created_time et id. Vous pouvez utiliser le pretty
paramètre ou un Formateur JSON pour rendre la réponse moins encombrée.
Pour obtenir plus de données sur vos publications, vous pouvez étendre la requête avec des champs comme paramètres de requête. Par exemple, la requête me/posts?fields=reactions, picture
vous donnera la photo et les réactions du message.
Pour créer une publication, vous pouvez simplement envoyer une action POST contre le flux de bord, par exemple me/feed
, avec des paramètres tels que message: hello world
. L'API Graph renverra un objet JSON avec l'ID de votre publication créée. Vous pouvez ensuite consulter le message à l'adresse http://facebook.com/[post_id]
.
Pour mettre à jour une publication, vous pouvez envoyer une requête POST au nœud de la publication avec les champs à mettre à jour en tant que paramètres; Par exemple, /[post_id]
et des paramètres comme Message: lorem ipsum
. Un indicateur de succès avec une valeur true ou false sera renvoyé.
Pour supprimer une publication, vous pouvez simplement faire une demande DELETE au nœud avec l'ID de publication (par exemple, /[post_id]
). La valeur de retour sera un objet JSON avec une valeur de succès true ou false.
Un aperçu complet de tous les nœuds et actions est disponible dans le Référence de l'API Graph .
La API marketing mérite une mention spéciale car il s'agit d'un outil puissant pour gérer les publicités Facebook et obtenir des informations publicitaires via votre application.
Cela fonctionne de la même manière que les autres méthodes de l'API Graph. Cependant, vous avez besoin du ads_management
champ d'application afin d'accéder aux annonces de l'utilisateur. Facebook doit également examiner votre application avant de pouvoir la publier.
Une fois que vous avez créé votre application, elle est en mode développement et automatiquement visible dans le tableau de bord de votre application (c'est-à-dire https://developers.facebook.com/apps/
).
En mode développement, seuls les administrateurs, les développeurs et les testeurs ont accès à votre application. Vous pouvez ajouter des testeurs et des administrateurs dans la section des rôles du tableau de bord de votre application.
Lors de l'ajout de certaines autorisations, Facebook doit examiner votre application avant de pouvoir la publier. Le processus d'examen est défini par cet ensemble de directives .
Afin de soumettre certains éléments pour examen, vous pouvez simplement les ajouter dans la section Examen des applications du tableau de bord de votre application. Facebook vous guidera ensuite tout au long du processus d'examen et vous serez alerté une fois votre application approuvée.
Une application peut effectuer 200 appels par heure et par utilisateur au total. Si vous atteignez cette limite, vos appels API entraîneront une erreur.
un niveau élevé de rivalité entraîne généralement une concurrence par les prix qui augmente les prix existants.
Facebook limite la recherche de publications et de tags sur Facebook via l'API Graph et FQL. Cependant, vous pouvez utiliser le API de recherche Google pour rechercher des publications Facebook publiques, puis utiliser le post-id dans l'URL pour récupérer plus d'informations sur des publications spécifiques via l'API Graph.
Informations sur l'audience sur Facebook est un outil de recherche puissant pour en savoir plus sur un public particulier en fonction des intérêts, des données démographiques ou d'autres attributs (par exemple, une collection d'adresses e-mail).
Cependant, je n'ai pas trouvé de moyen de créer automatiquement des informations sur l'audience via l'API publicitaire. Faites-nous savoir dans les commentaires si vous avez des idées créatives ou des suggestions à ce sujet.
La API Instagram a été publié pour la première fois en avril 2014 et vous permet de créer des applications qui analysent les publications des utilisateurs et les aident à gérer leurs propres publications.
Étant donné que la console API d'Instagram est obsolète au moment de cet article, je recommande d'utiliser Apigée à des fins de test dans votre navigateur.
L'API Instagram est une API basée sur REST. Tous ses points de terminaison sont décrits dans leur documentation officielle.
Pour exécuter des requêtes sur l'API Instagram, vous avez besoin d'un jeton d'accès qui est obtenu dès qu'un utilisateur autorise dans votre application. Pour qu'un utilisateur reçoive un jeton d'accès, il doit être dirigé vers l'URL d'autorisation de votre application. Le serveur redirigera alors l'utilisateur après avoir autorisé votre application et vous pourrez alors lire le token.
Votre application peut demander des autorisations . Par exemple, 'basique' vous limite à la lecture des informations de profil et des médias d'un utilisateur. «Public_content» vous permet de lire n'importe quel profil public et média au nom d'un utilisateur.
Pour démontrer le fonctionnement de l'API Instagram, je vais passer en revue quelques exemples basés sur le point de terminaison multimédia https://api.instagram.com/v1/media/popular
.
Ce point de terminaison renvoie le média actuellement populaire d'Instagram s'il est passé un jeton d'accès en tant que paramètre. Le résultat sera un tableau JSON de messages contenant, pour chacun, son ID média, un lien vers son image, des likes, des commentaires, l'utilisateur qui l'a publié et quelques autres attributs.
Vous pouvez utiliser apigee pour jouer et en savoir plus sur les points de terminaison de l'API et leurs paramètres.
Chaque nouvelle application créée sur la plateforme Instagram commence dans Mode bac à sable . Il s'agit d'un environnement entièrement fonctionnel qui vous permet de tester les points de terminaison d'API accessibles au public avant de soumettre votre application pour examen.
Pour tester votre application, créez simplement une version intermédiaire et exécutez toutes les requêtes via cette version au lieu de la version en direct qui a réussi l'examen.
Les applications en mode sandbox peuvent utiliser n'importe quel point de terminaison d'API, mais sont limitées à un nombre limité d'utilisateurs et de médias. C'est un excellent mécanisme pour développer et tester une application.
Pour mettre en ligne et accéder à tout le contenu Instagram, vous devrez soumettre votre candidature pour la revue . Une fois examinée, vous ne pourrez demander les portées que pour les utilisateurs pour lesquels votre application a été approuvée.
Au moment de la rédaction de cet article, il n’existe aucun moyen d’obtenir des informations sur l’âge, le sexe ou les intérêts d’un utilisateur public, car Instagram ne vous fournit pas ces informations.
Afin d'obtenir des données démographiques sur les abonnés ou une liste d'utilisateurs d'Instagram, vous devez les parcourir tous et essayer de déterminer leur âge et leur sexe ou leurs intérêts en fonction de leurs abonnés ou des informations fournies dans leur bio.
pourquoi les entreprises couvrent-elles le risque de change
Une bonne solution Big Data pour ce problème pourrait être un service précieux pour certaines entreprises.
Tout limites de taux sur la plate-forme Instagram sont contrôlés par un jeton d'accès sur une fenêtre glissante d'une heure. Les applications en direct ont des limites de débit plus élevées que les applications en mode Sandbox. La limite de débit globale pour une application en direct est actuellement de 5 000 appels par heure.
L'API Twitter était première sortie en septembre 2006. C'est un API REST publique qui fournit un accès en lecture et en écriture aux données Twitter. L'authentification est effectuée à l'aide d'OAuth. Les réponses sont au format JSON.
Twitter a un Outil de console API alimenté par apigee qui peut être utilisé pour tester les demandes dans le navigateur.
L'API REST vous permet d'obtenir les tweets, les abonnés et les personnes suivies d'un utilisateur. Vous pouvez également rechercher des hashtags dans d'autres tweets.
Twitter vous permet de créer des applications que les utilisateurs peuvent authentifier contre en retour d'un jeton d'accès. Le modèle d'authentification est OAuth.
Seules deux autorisations doivent être définies sur la page des paramètres de l'application: Lecture seule et Lecture et écriture. Ce dernier vous permet de créer des tweets et d'effectuer d'autres actions de publication au nom d'un utilisateur.
Pour démontrer l'utilisation de l'API Twitter, je vais récupérer les tweets de l'utilisateur autorisé. Le résultat est un tableau JSON avec les images, les favoris, les retweets, les URL, la date de création et d'autres attributs du tweet. Utilisez Apigee pour jouer et en savoir plus sur les points de terminaison de l'API et leurs paramètres.
Il n'y a actuellement aucun processus d'examen ou mode de test disponible pour l'API Twitter.
Il n’existe actuellement aucun moyen simple d’obtenir des données démographiques sur les abonnés Twitter de quelqu'un. L'approche de la force brute consisterait à parcourir chaque adepte et à essayer d'obtenir les données via leur bio et leurs comptes de réseaux sociaux liés.
Vous pouvez ensuite faire d'autres hypothèses basées sur les données d'abonné collectées grâce à l'analyse des données. La plate-forme API d'entreprise payante de Twitter est un autre moyen d'obtenir plus d'informations. GNIP . Entre autres choses, il vous permet de créer des audiences et d'obtenir des informations sur celles-ci via l'API. L'API est actuellement en version BÊTA.
Twitter a limites de taux sur une base par utilisateur et sur une base de 15 minutes. Si votre application a plusieurs jetons, vous pouvez simplement alterner les jetons pour les opérations publiques afin d'éviter d'atteindre la limite.
L'API de données YouTube a été lancée pour la première fois en janvier 2013. Elle vous permet d'ajouter des fonctionnalités YouTube à votre application, de rechercher du contenu et d'analyser les données démographiques d'une chaîne YouTube. Il s'agit d'une API REST basée sur des jetons OAuth qui renvoie des réponses JSON.
La Explorateur d'API vous permet de tester les demandes non autorisées et autorisées. Vous pouvez exécuter des requêtes à partir de votre navigateur sur les points de terminaison fournis.
communication graphique et design graphique
Entre autres, vous pouvez travailler avec des activités, des chats, des diffusions en direct, des listes de lecture, des chaînes, des vidéos et des abonnements. La plupart des points de terminaison nécessitent une autorisation avec un compte YouTube.
L'API de données YouTube prend en charge le protocole OAuth 2.0 pour autoriser l'accès aux données des utilisateurs privés. Une fois qu'un utilisateur a été autorisé dans votre application, il sera redirigé vers votre application où le jeton d'accès doit être enregistré.
Pour utiliser l'autorisation OAuth 2.0, vous devez d'abord obtenir les identifiants d'autorisation dans la console des développeurs Google.
L'API de données YouTube prend actuellement en charge les champs d'application suivants:
À titre d'exemple d'utilisation de l'API Youtube Data, les requêtes suivantes demandent des vidéos avec «codage» dans leur titre et leur description:
https://www.googleapis.com/youtube/v3/search?part=snippet&q=coding&key={YOUR_API_KEY}
Le résultat est un objet JSON contenant le titre, la description, videoId et channelId. Vous pouvez utiliser ce dernier pour en savoir plus sur la chaîne.
Le part
est requis pour toute demande d'API qui renvoie une certaine ressource. Le paramètre identifie les propriétés de ressource qui doivent être incluses dans une réponse API. Par exemple, une ressource vidéo comprend les parties suivantes: snippet, contentDetails, fileDetails, player, processingDetails, RecordingDetails, statistiques, statut, suggestions, topicDetails.
Tous les autres paramètres, à l'exception de la clé API, diffèrent d'un appel à l'autre. En savoir plus à ce sujet dans le Guide de référence de l'API .
La API Pinterest a été initialement publié en avril 2015. Il s'agit d'une API RESTful qui permet d'accéder aux données Pinterest d'un utilisateur, telles que ses tableaux, ses épingles, ses abonnés, etc. L'API Pinterest utilise OAuth et autorise à la fois des autorisations de lecture et d'écriture lors de l'interaction avec le contenu d'un utilisateur.
Comme d'autres, Pinterest fournit un explorateur d'API pour tester leurs points de terminaison et exécuter des requêtes contre eux. Vous pouvez jeter un œil à tous leurs outils Ici .
Le Pinterest API REST vous permet de créer des épingles, des tableaux et d'interroger les données Pinterest avec OAuth.
Pinterest utilise OAuth 2.0 pour authentifier les demandes entre votre application et vos utilisateurs. Toutes les demandes doivent être effectuées via HTTPS.
Les étendues déterminent ce qu'une application peut faire au nom d'un utilisateur. Pinterest utilise les portées suivantes:
none
(doit connaître l'identifiant): utilisez la méthode GET sur le profil d'un utilisateur, les détails du tableau et des épingles, ainsi que les épingles sur un tableau.read_public
: Utilisez la méthode GET sur les épingles, tableaux et likes d'un utilisateur.write_public
: Utilisez les méthodes PATCH, POST et DELETE sur les broches et les tableaux d'un utilisateur.read_relationships
: Utilisez la méthode GET sur les abonnements et les abonnés d'un utilisateur (sur les tableaux, les utilisateurs et les centres d'intérêt).write_relationships
: Utilisez les méthodes PATCH, POST et DELETE sur les abonnés et les abonnés d'un utilisateur (sur les tableaux, les utilisateurs et les centres d'intérêt).Pour illustrer l'utilisation de l'API Pinterest, je vais vous montrer comment lire les dernières épingles de l'utilisateur:
à quoi sert nodejs
https://api.pinterest.com/v1/me/pins/?access_token={your_token}&fields=id,link,note,url,counts,board,created_at
renverra les épingles d'un utilisateur avec son identifiant, son lien, sa note, son URL, ses mentions J'aime et ses repins.
Les applications sont initialement en mode développement et doivent être soumises pour examen avant d'être publiées en mode production.
Il n'existe aucun moyen courant d'obtenir des données démographiques d'un conseil. Cependant, vous pouvez essayer d'obtenir les abonnés d'un forum et des informations les concernant à partir de sa biographie et de ses liens vers d'autres comptes de réseaux sociaux. Une solution Big Data sur les connexions communes de l'utilisateur serait également une possibilité.
Il n'existe actuellement aucun moyen de rechercher des épingles avec certaines balises ou mots-clés via l'API. Vous pouvez contourner cette limitation en utilisant l'API de recherche personnalisée Google pour rechercher des résultats sur les épingles Pinterest uniquement et collecter l'ID d'épingle via l'URL. L'ID peut ensuite être utilisé pour obtenir des informations sur la broche via l'API.
Chaque application (avec un ID d'application unique) est autorisée à 1 000 appels par point de terminaison et par heure pour chaque jeton d'utilisateur unique.
Chaque réponse de l'API renvoie un en-tête qui vous donne une mise à jour sur les limites de taux. X-Ratelimit-Limit est la limite de débit pour cette demande spécifique, et X-Ratelimit-Remaining est le nombre de demandes qu'il vous reste dans la fenêtre de 60 minutes.
Si vous dépassez votre limite de débit pour un point de terminaison donné, vous obtiendrez un code d'erreur 429 'Trop de demandes'.
Version | OAuth | Format | Démographie | |
---|---|---|---|---|
v2.6 Première sortie: avril 2010 | OAuth 2 | Requêtes REST avec réponses JSON | Prise en charge | |
v1 Première sortie: avril 2014 | OAuth 2 | Requêtes REST avec réponses JSON | Non supporté | |
v1.1 Première sortie: septembre 2006 | OAuth 1 | Requêtes REST avec réponses JSON | Uniquement pris en charge avec GNIP | |
Youtube | v3 Première sortie: janvier 2013 | OAuth 2 | Requêtes REST avec réponses JSON | Prise en charge |
v1 Première sortie: avril 2015 | OAuth 2 | Requêtes REST avec réponses JSON | Non supporté |
L'intégration de ces API dans vos applications nouvelles ou existantes, grâce à une pléthore de packages et de bibliothèques d'API de réseaux sociaux, est plus facile que jamais. La plupart des plates-formes et des frameworks modernes ont des bibliothèques tierces éprouvées qui unifient même l'aspect authentification de toutes ces API dans une seule bibliothèque avec une architecture de plug-in soignée.
Pour cet article, nous allons voir comment Devise , un joyau Ruby, le fait avec élégance pour les applications Rails. Devise est une bibliothèque d'authentification flexible basée sur Directeur qui implémente l'authentification, l'enregistrement, la connexion et le stockage de données pour plusieurs fournisseurs de connexion. Si vous êtes plutôt un front-end et que vous souhaitez vérifier quelque chose de similaire pour AngularJS, jetez un œil à Cet article .
Devise, comme la plupart des bibliothèques de cette classe, ne prend pas en charge les API de réseaux sociaux mentionnées ci-dessus. La prise en charge de chacune de ces API de réseau social est fournie par des gemmes supplémentaires. Les gemmes suivantes sont disponibles pour l'authentification Rails qui couvrent les 5 fournisseurs abordés dans cet article:
gem 'omniauth-facebook' gem 'omniauth-pinterest' gem 'omniauth-twitter' gem 'omniauth-google-oauth2' gem 'omniauth-instagram'
L'une des meilleures choses à propos de Rails est qu'il existe de nombreux plugins écrits par la communauté open source. Ceux-ci sont distribués sous forme de gemmes. Répertoriés sous un fichier de configuration central, ces gemmes sont gérées par Bundler.Étant donné que ceux-ci ne fournissent que l'authentification, l'enregistrement, la connexion et le stockage pour chacun de ces fournisseurs, nous devrons également obtenir les gemmes suivantes pour les clients API réels:
gem 'twitter' # https://github.com/sferik/twitter gem 'instagram' # https://github.com/facebookarchive/instagram-ruby-gem gem 'koala' # (Facebook API) https://github.com/arsduo/koala gem 'google-api-client' # (YouTube API), https://github.com/google/google-api-ruby-client gem 'pinterest-api' # https://github.com/realadeel/pinterest-api
Pour qu'un utilisateur autorise votre application auprès de votre fournisseur, vous pouvez simplement fournir un lien avec le chemin suivant:
omniauth_authorize_path('user', :facebook) omniauth_authorize_path('user', :instagram) ...
Afin de réagir au rappel après avoir authentifié un utilisateur, vous pouvez définir un OmniauthCallbacksController avec les étendues comme des fonctions telles que:
class AuthenticationsController C'est l'endroit où ajouter un nouveau modèle d'authentification avec le jeton et les données dans votre application:
authentication = where(provider: omniauth.provider, user_id: user.id) .first_or_create do |auth| auth.user = user auth.uid = omniauth.uid auth.secret = omniauth.credentials.secret auth.token = omniauth.credentials.token ... end
Faire des appels API
Voici un exemple d'utilisation Koala pour interroger l'API Facebook. Les autres fournisseurs fonctionnent plus ou moins de la même manière et sont documentés dans le fichier README du joyau.
Voici comment obtenir vos données utilisateur en utilisant Koala:
authentication = user.authentication_for_provider(:facebook) token = authentication.token api = Koala::Facebook::API.new(token) results = api.get_object('me')
Vous pouvez ensuite utiliser le résultat JSON renvoyé par l'API. Le code source de cette application de démonstration est disponible sur GitHub .
Emballer
Les API de réseaux sociaux vous fournissent un outil puissant pour interroger le vaste ensemble de données des réseaux sociaux et collecter des données volumineuses pour votre application. Vous pouvez créer un service au-dessus de ces API ou les utiliser pour améliorer votre propre application et les informations utilisateur.
Les rails et les gemmes disponibles facilitent l'intégration de ces API dans votre application rails et interrogent les interfaces avec une couche d'abstraction entre votre application et l'API.