Un Gem Ruby pour utiliser l'API bitly de la version 4 pour raccourcir les liens, développer des liens courts et afficher les mesures entre les utilisateurs, les liens et les organisations.
Installation
Usage
Authentification
Création d'un client API
Raccourcir un lien
Développer un lien
Points de terminaison API disponibles
Groupes
Organisations
Utilisateurs
Bitlinks
Bitlinks personnalisés
Campagnes
BSDS (Domains courts de marque)
Webhooks
Personnalisation des demandes HTTP
Construisez votre propre adaptateur
Développement
Contributif
Licence
Code de conduite
Ajoutez cette ligne à Gemfile de votre application:
Gem 'Bitly'
Puis exécuter:
$ Installation du bundle
Ou installez-le vous-même comme:
$ install install bitly
Pour une introduction rapide, lisez cet article de blog sur la façon d'utiliser l'API Bitly dans Ruby.
Tous les points de terminaison API nécessitent une authentification avec un jeton OAuth. Vous pouvez obtenir votre propre jeton OAuth à partir de la console bitly. Cliquez sur le menu déroulant du compte, puis les paramètres de profil puis le jeton d'accès générique . Remplissez votre mot de passe et vous pouvez générer un jeton d'accès OAuth.
Pour d'autres méthodes pour générer des jetons d'accès pour les utilisateurs via les flux OAuth, consultez la documentation d'authentification.
Une fois que vous avez un jeton d'accès, vous pouvez utiliser toutes les méthodes API.
Toutes les méthodes API sont disponibles via le Bitly::API::Client . Initialiser le client avec le jeton d'accès comme ainsi:
client = bitly :: api :: client.new (jeton: jeton)
Vous pouvez ensuite utiliser le client pour effectuer des actions avec l'API
Avec un client authentifié, vous pouvez raccourcir un lien comme tel:
bitlink = client.shorten (long_url: "http://example.com") bitlink.link # => http://bit.ly/2oujim0
Avec un autorisé, vous pouvez développer n'importe quel Bitlink.
bitlink = client.expand (bitlink: "bit.ly/2oujim0")bitlink.long_url# => http://example.com
Ce GEM prend en charge les points de terminaison API V4 actifs suivants pour l'API THEBLY.
Documentation des groupes
Récupérer des groupes ( GET /v4/groups )
Récupérer le groupe ( GET /v4/groups/{group_guid} )
Mettre à jour le groupe ( PATCH /v4/groups/{group_guid} )
Récupérer les balises par groupe ( GET /v4/groups/{group_guid}/tags )
Récupérer les préférences du groupe ( GET /v4/groups/{group_guid}/preferences )
Mettre à jour les préférences de groupe ( PATCH /v4/groups/{group_guid}/preferences )
Récupérer les bitlinks par groupe ( GET /v4/groups/{group_guid}/bitlinks )
Récupérer les BitLinks triés par groupe ( GET /v4/groups/{group_guid}/bitlinks/{sort} )
Récupérer les comptes de raccourcis du groupe ( GET /v4/groups/{group_guid}/shorten_counts )
Récupérer les métriques de clic pour un groupe en référant les réseaux ( GET /v4/groups/{group_guid}/referring_networks )
Récupérer les mesures de clic pour un groupe par pays ( GET /v4/groups/{group_guid}/countries )
[Premium] Récupérer les mesures de clic pour un groupe par ville ( GET /v4/groups/{group_guid}/cities )
[Premium] Obtenez des dépassements de groupe ( GET /v4/groups/{group_guid}/overrides )
Documentation des organisations
Récupérer les organisations ( GET /v4/organizations )
Récupérer l'organisation ( GET /v4/organizations/{organization_guid} )
Récupérer l'organisation Contrats de Shorten ( GET /v4/organizations/{organization_guid}/shorten_counts )
Documentation des utilisateurs
Récupérer l'utilisateur ( GET /v4/user )
Mettre à jour l'utilisateur ( PATCH /v4/user )
Documentation BitLinks
Raccourcir un lien ( POST /v4/shorten )
Développer un bitlink ( POST /v4/expand )
Récupérer un bitlink ( GET /v4/bitlinks/{bitlink} )
Créez un Bitlink ( POST /v4/bitlinks )
Mettre à jour un bitlink ( PATCH /v4/bitlinks/{bitlink} )
Supprimer un lien de hash non édité ( DELETE /v4/bitlinks/{bitlink} )
Obtenez des clics pour un bitlink ( GET /v4/bitlinks/{bitlink}/clicks )
Get Clicks Résumé pour un BitLink ( GET /v4/bitlinks/{bitlink}/clicks/summary )
Obtenez des mesures pour un Bitlink par les pays ( GET /v4/bitlinks/{bitlink}/countries )
Obtenez des métriques pour un BitLink par références ( GET /v4/bitlinks/{bitlink}/referrers )
Obtenez des métriques pour un BitLink en référant des domaines ( GET /v4/bitlinks/{bitlink}/referring_domains )
Obtenez des métriques pour un BitLink par références par domaine ( GET /v4/bitlinks/{bitlink}/referrers_by_domains )
[Premium] Obtenez des métriques pour un bitlink par ville ( GET /v4/bitlinks/{bitlink}/cities )
[Premium] Obtenez des métriques pour un BitLink par type de périphérique ( GET /v4/bitlinks/{bitlink}/devices )
[Premium] Récupérez un code QR pour un bitlink ( GET /v4/bitlinks/{bitlink}/qr )
[Premium] Mettez à jour un code QR ( PATCH /v4/bitlinks/{bitlink}/qr )
[Premium] Créez un code QR ( POST /v4/bitlinks/{bitlink}/qr )
Ajouter un bitlink personnalisé ( POST /v4/custom_bitlinks )
[Premium] Récupérer BitLink personnalisé ( GET /v4/custom_bitlinks/{custom_bitlink} )
[Premium] Mettre à jour BitLink personnalisé ( PATCH /v4/custom_bitlinks/{custom_bitlink} )
[Premium] Obtenez des métriques pour un Bitlink personnalisé par destination ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination )
[Premium] Obtenez des clics pour l'historique entier d'un bitlin personnalisé ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks )
[Premium] Récupérer les campagnes ( GET /v4/campaigns )
[Premium] Créer une campagne ( POST /v4/campaigns )
[Premium] Récupérer la campagne ( GET /v4/campaigns/{campaign_guid} )
[Premium] Mettre à jour Campagne ( PATCH /v4/campaigns/{campaign_guid} )
[Premium] Récupérer les canaux ( GET /v4/channels )
[Premium] Créer un canal ( POST /v4/channels )
[Premium] Récupérer Channel ( GET /v4/channels/{channel_guid} )
[Premium] Update Channel ( PATCH /v4/channels/{channel_guid} )
Documentation des domaines courts de marque
Récupérer BSDS ( GET /v4/bsds )
[Premium] Get webhooks ( GET /v4/organizations/{organization_guid}/webhooks )
[Premium] Créez un webhook ( POST /v4/webhooks )
[Premium] Récupérez un webhook ( GET /v4/webhooks/{webhook_guid} )
[Premium] Mettez à jour un webhook ( POST /v4/webhooks/{webhook_guid )
[Premium] Supprimer un webhook ( DELETE /v4/webhooks/{webhook_guid} )
[Premium] Vérifiez un webhook ( POST /v4/webhooks/{webhook_guid}/verify )
Ce joyau est livré avec un client HTTP qui peut utiliser différents adaptateurs. Il est expédié avec un adaptateur Net::HTTP qu'il utilise par défaut.
Si vous souhaitez contrôler la connexion, vous pouvez créer votre propre instance de l'adaptateur Net::HTTP et les options pour un proxy HTTP ou des options qui contrôlent la demande. Par exemple, pour contrôler la read_timeout vous pouvez le faire:
adapter = bitly :: http :: adaptors :: nethttp.new (request_options: {read_timeout: 1}) http_client = bitly :: http :: client.new (adapter) api_client = bitly :: api :: client.new (http : http_client, jeton: jeton)De même, vous pouvez utiliser un proxy HTTP avec l'adaptateur en passant les variables proxy au constructeur de l'adaptateur.
adaptateur = bitly :: http :: adaptaires :: nethttp.new (proxy_addr: "example.com", proxy_port: 80, proxy_user: "username", proxy_pass: "mot de passe") http_client = bitly :: http :: client.new (adaptateur) api_client = bitly :: api :: client.new (http: http_client, token: token)
Si vous souhaitez encore plus de contrôle sur la demande, vous pouvez créer votre propre adaptateur. Un adaptateur HTTP dans ce gemme doit avoir une méthode d'instance request qui reçoit un Bitly::HTTP::Request objet et renvoie un tableau de quatre objets:
Le code d'état de réponse
Le corps de la réponse comme une chaîne
Les en-têtes de réponse comme hachage
Un booléen indiquant si la réponse a été un succès ou non
Voir ./src/bitly/http/adapters/net_http.rb pour un exemple.
Après avoir vérifié le dépôt, exécutez bin/setup pour installer des dépendances. Ensuite, exécutez rake spec pour exécuter les tests. Vous pouvez également exécuter bin/console pour une invite interactive qui vous permettra d'expérimenter.
Pour installer ce gemme sur votre machine locale, exécutez bundle exec rake install . Pour publier une nouvelle version, mettez à jour le numéro de version dans version.rb , puis exécutez bundle exec rake release , qui créera une balise GIT pour la version, pousse Git Commits and Tags, et poussez le fichier .gem sur RubyGems.org.
Les rapports de bogues et les demandes de traction sont les bienvenus sur GitHub à https://github.com/philnash/bitly. Ce projet est destiné à être un espace sûr et accueillant pour la collaboration, et les contributeurs devraient adhérer au Code de conduite de l'alliance des contributeurs.
Le GEM est disponible en open source en vertu des termes de la licence du MIT.
Tout le monde interagit dans les bases de code, les trackers des problèmes, les salles de discussion et les listes de diffusion du projet devrait suivre le code de conduite.