Ein Ruby -Edelstein für die Verwendung der Bitly -API von Version 4, um Links zu verkürzen, kurze Links zu erweitern und Metriken über Benutzer, Links und Organisationen hinweg anzuzeigen.
Installation
Verwendung
Authentifizierung
Erstellen eines API -Clients
Einen Link verkürzen
Erweitern Sie einen Link
Verfügbare API -Endpunkte
Gruppen
Organisationen
Benutzer
Bitlinks
Benutzerdefinierte Bitlinks
Kampagnen
BSDs (Marken -Short -Domains)
Webhooks
Anpassen von HTTP -Anforderungen
Bauen Sie Ihren eigenen Adapter auf
Entwicklung
Beitragen
Lizenz
Verhaltenskodex
Fügen Sie diese Zeile der GemFile Ihrer Anwendung hinzu:
Juwel "Bitly"
Und dann ausführen:
$ bündel install
Oder installieren Sie es selbst als:
$ gem install bitly
Für eine kurze Einführung lesen Sie diesen Blog -Beitrag zur Verwendung der Bitly -API in Ruby.
Alle API -Endpunkte erfordern eine Authentifizierung mit einem OAuth -Token. Sie können Ihr eigenes OAuth -Token von der Bitly -Konsole bekommen. Klicken Sie auf das Dropdown -Menü des Kontos, dann die Profileinstellungen und dann auf generische Zugriffstoken . Füllen Sie Ihr Passwort aus und Sie können ein OAuth -Zugriffs -Token generieren.
Für andere Methoden, um Zugriffstoken für Benutzer über OAuth -Flows zu generieren, finden Sie in der Authentifizierungsdokumentation.
Sobald Sie ein Zugriffstoken haben, können Sie alle API -Methoden verwenden.
Alle API -Methoden sind über das Bitly::API::Client
verfügbar. Initialisieren Sie den Kunden mit dem Zugangs -Token wie SO:
client = bitly :: api :: client.new (Token: Token)
Sie können dann den Client verwenden, um Aktionen mit der API auszuführen
Mit einem authentifizierten Client können Sie einen Link wie SO verkürzen:
bitlink = client.shorten (long_url: "http://example.com") bitlink.link# => http://bit.ly/2oujim0
Mit einem autorisierten können Sie jeden Bitlink erweitern.
bitlink = client.expand (bitlink: "bit.ly/2oujim0")bitlink.long_url# => http://example.com
Dieses Juwel unterstützt die folgenden aktiven V4 -API -Endpunkte für thebilische API.
Gruppendokumentation
Gruppen abrufen ( GET /v4/groups
)
Rufen Sie die Gruppe ab ( GET /v4/groups/{group_guid}
)
Update Group ( PATCH /v4/groups/{group_guid}
)
Ruf Tags nach Group ab ( GET /v4/groups/{group_guid}/tags
)
Gruppeneinstellungen abrufen ( GET /v4/groups/{group_guid}/preferences
)
Gruppeneinstellungen aktualisieren ( PATCH /v4/groups/{group_guid}/preferences
)
Bitlinks nach Group abrufen ( GET /v4/groups/{group_guid}/bitlinks
)
Abrufen Sie sortierte Bitlinks nach Group ab ( GET /v4/groups/{group_guid}/bitlinks/{sort}
)
Gruppenkürzelzahlen abrufen ( GET /v4/groups/{group_guid}/shorten_counts
)
Klicken Sie auf Metriken für eine Gruppe durch GET /v4/groups/{group_guid}/referring_networks
klicken
Klicken Sie auf Metriken für eine Gruppe nach Ländern ( GET /v4/groups/{group_guid}/countries
)
[Premium] Klicken Sie auf Metriken für eine Gruppe nach Stadt ab ( GET /v4/groups/{group_guid}/cities
)
[Premium] Get Group Overrides ( GET /v4/groups/{group_guid}/overrides
)
Organisationen Dokumentation
Organisationen abrufen ( GET /v4/organizations
)
Organisation abrufen ( GET /v4/organizations/{organization_guid}
)
GET /v4/organizations/{organization_guid}/shorten_counts
abrufen
Benutzerdokumentation
Benutzer abrufen ( GET /v4/user
)
Benutzer aktualisieren ( PATCH /v4/user
)
Bitlinks Dokumentation
Verkürzen Sie einen Link ( POST /v4/shorten
)
Erweitern Sie einen Bitlink ( POST /v4/expand
)
Abrufen Sie einen Bitlink ab ( GET /v4/bitlinks/{bitlink}
)
Erstellen Sie einen Bitlink ( POST /v4/bitlinks
)
Aktualisieren Sie einen BitLink ( PATCH /v4/bitlinks/{bitlink}
)
Löschen Sie einen unbearbeiteten Hash -Bitlink ( DELETE /v4/bitlinks/{bitlink}
)
Klicks für einen BitLink abrufen ( GET /v4/bitlinks/{bitlink}/clicks
)
Klickszusammenfassung für einen BitLink erhalten ( GET /v4/bitlinks/{bitlink}/clicks/summary
)
Metriken für ein Bitlink in Ländern erhalten ( GET /v4/bitlinks/{bitlink}/countries
)
Metriken für einen Bitlink von Referrern erhalten ( GET /v4/bitlinks/{bitlink}/referrers
)
Metriken für einen Bitlink erhalten, indem Sie Domänen überweisen ( GET /v4/bitlinks/{bitlink}/referring_domains
)
Metriken für einen BitLink von Referrern per Domain erhalten ( GET /v4/bitlinks/{bitlink}/referrers_by_domains
)
[Premium] Metriken für einen Bitlink von City ( GET /v4/bitlinks/{bitlink}/cities
)
[Premium] Metriken für einen BitLink by Gerätetyp erhalten ( GET /v4/bitlinks/{bitlink}/devices
)
[Premium] Rufen Sie einen QR -Code für einen BitLink ab ( GET /v4/bitlinks/{bitlink}/qr
)
[Premium] Aktualisieren Sie einen QR -Code ( PATCH /v4/bitlinks/{bitlink}/qr
)
[Premium] Erstellen Sie einen QR -Code ( POST /v4/bitlinks/{bitlink}/qr
)
Fügen Sie benutzerdefinierte Bitlink hinzu ( POST /v4/custom_bitlinks
)
[Premium] Custom BitLink abrufen ( GET /v4/custom_bitlinks/{custom_bitlink}
)
[Premium] benutzerdefinierte BitLink aktualisieren ( PATCH /v4/custom_bitlinks/{custom_bitlink}
)
[Premium] Metriken für ein benutzerdefiniertes Bitlink by Ziel ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination
)
[Premium] Klicks für den gesamten Bitlin -Verlauf eines benutzerdefinierten Bitlins erhalten ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks
)
[Premium] Kampagnen abrufen ( GET /v4/campaigns
)
[Premium] Kampagne erstellen ( POST /v4/campaigns
)
[Premium] Kampagne abrufen ( GET /v4/campaigns/{campaign_guid}
)
[Premium] Update -Kampagne ( PATCH /v4/campaigns/{campaign_guid}
)
[Premium] Kanäle abrufen ( GET /v4/channels
)
[Premium] Channel erstellen ( POST /v4/channels
)
[Premium] Kanal abrufen ( GET /v4/channels/{channel_guid}
)
[Premium] Update Channel ( PATCH /v4/channels/{channel_guid}
)
Dokumentation mit Kurzdomains mit Markendomains
BSDS abrufen ( GET /v4/bsds
)
[Premium] Get Webhooks ( GET /v4/organizations/{organization_guid}/webhooks
)
[Premium] Erstellen Sie einen Webhook ( POST /v4/webhooks
)
[Premium] Abrufen Sie einen Webhook ab ( GET /v4/webhooks/{webhook_guid}
)
[Premium] Aktualisieren Sie einen Webhook ( POST /v4/webhooks/{webhook_guid
)
[Premium] Löschen eines Webhooks ( DELETE /v4/webhooks/{webhook_guid}
)
[Premium] Überprüfen Sie einen Webhook ( POST /v4/webhooks/{webhook_guid}/verify
)
Dieses Juwel enthält einen HTTP -Client, der verschiedene Adapter verwenden kann. Es wird mit einem Net::HTTP
-Adapter geliefert, den es standardmäßig verwendet.
Wenn Sie die Verbindung steuern möchten, können Sie Ihre eigene Instanz des Net::HTTP
-Adapter erstellen und IT -Optionen für einen HTTP -Proxy oder Optionen übergeben, die die Anforderung steuern. Zum Beispiel können Sie das tun, um das read_timeout
zu steuern: Folgendes:
adapter = bitly :: http :: adapters :: nethttp.new (request_options: {read_timeout: 1}) http_client = bitly :: http :: client.new (adapter) api_client = bitly :: api :: client.new (http (http) : http_client, token: token)
In ähnlicher Weise können Sie einen HTTP -Proxy mit dem Adapter verwenden, indem Sie die Proxy -Variablen an den Konstruktor des Adapters übergeben.
adapter = bitly :: http :: adapters :: nethttp.new (proxy_addr: "example.com", proxy_port: 80, proxy_user: "userername", proxy_pass: "password") http_client = bitly :: http: (Adapter) api_client = bitly :: api :: client.new (http: http_client, token: token)
Wenn Sie noch mehr Kontrolle über die Anfrage wünschen, können Sie Ihren eigenen Adapter erstellen. Ein HTTP -Adapter in diesem Juwel muss eine request
haben, die ein Bitly::HTTP::Request
empfängt und ein Array von vier Objekten zurückgibt:
Der Antwortstatuscode
Der Körper der Reaktion als Schnur
Die Antwortüberschriften als Hash
Ein Boolescher, der bezeichnet, ob die Antwort ein Erfolg war oder nicht
Siehe ./src/bitly/http/adapters/net_http.rb
für ein Beispiel.
Führen Sie bin/setup
nach dem Auschecken des Repo aus, um Abhängigkeiten zu installieren. Führen Sie dann rake spec
aus, um die Tests auszuführen. Sie können auch bin/console
für eine interaktive Eingabeaufforderung ausführen, mit der Sie experimentieren können.
Um dieses Juwel auf Ihrem lokalen Computer zu installieren, führen Sie bundle exec rake install
aus. Um eine neue Version zu veröffentlichen, aktualisieren Sie die Versionsnummer in version.rb
und führen Sie bundle exec rake release
aus, die ein Git -Tag für die Version erstellt, Git Commits und Tags drücken und die .gem
-Datei auf rubygemems.org weitergeben.
Fehlerberichte und Pull -Anfragen sind auf Github unter https://github.com/philnash/bitly willkommen. Dieses Projekt soll ein sicherer, einladender Raum für die Zusammenarbeit sein, und die Mitwirkenden sollen sich an den Verhaltenskodex für den Mitwirkenden halten.
Das Edelstein ist unter den Bedingungen der MIT -Lizenz als Open Source erhältlich.
Jeder, der in den Codebasen, Ausgabeturen, Chatrooms und Mailinglisten des Bitly -Projekts interagiert, wird voraussichtlich dem Verhaltenskodex folgen.