Permata Ruby untuk menggunakan API Bitly Versi 4 untuk mempersingkat tautan, memperluas tautan pendek dan melihat metrik di seluruh pengguna, tautan, dan organisasi.
Instalasi
Penggunaan
Otentikasi
Membuat Klien API
Mempersingkat tautan
Perluas tautan
Titik akhir API yang tersedia
Kelompok
Organisasi
Pengguna
Bitlinks
Bitlink khusus
Kampanye
BSDS (domain pendek bermerek)
Webhooks
Menyesuaikan permintaan HTTP
Bangun adaptor Anda sendiri
Perkembangan
Berkontribusi
Lisensi
Kode Etik
Tambahkan baris ini ke gemfile aplikasi Anda:
permata 'bitly'
Dan kemudian mengeksekusi:
$ bundel instal
Atau instal sendiri sebagai:
$ permata menginstal bitly
Untuk pengantar cepat, baca posting blog ini tentang cara menggunakan API Bitly di Ruby.
Semua titik akhir API membutuhkan otentikasi dengan token OAuth. Anda bisa mendapatkan token OAuth Anda sendiri dari konsol Bitly. Klik menu drop down akun, lalu pengaturan profil kemudian token akses umum . Isi kata sandi Anda dan Anda dapat menghasilkan token akses oauth.
Untuk metode lain untuk menghasilkan token akses untuk pengguna melalui aliran OAuth, lihat dokumentasi otentikasi.
Setelah Anda memiliki token akses, Anda dapat menggunakan semua metode API.
Semua metode API tersedia melalui Bitly::API::Client . Inisialisasi klien dengan token akses seperti itu:
Client = Bitly :: API :: Client.New (Token: Token)
Anda kemudian dapat menggunakan klien untuk melakukan tindakan dengan API
Dengan klien yang diautentikasi, Anda dapat mempersingkat tautan seperti itu:
bitlink = client.shorten (long_url: "http://example.com") bitlink.link# => http://bit.ly/2oujim0
Dengan resmi Anda dapat memperluas bitlink apa pun.
bitlink = client.expand (bitlink: "bit.ly/2oujim0")bitlink.long_url# => http://example.com
Permata ini mendukung titik akhir API V4 aktif berikut untuk API yang benar.
Dokumentasi Grup
Retrieve Groups ( GET /v4/groups )
Retrieve Group ( GET /v4/groups/{group_guid} )
Perbarui grup ( PATCH /v4/groups/{group_guid} )
Ambil tag berdasarkan grup ( GET /v4/groups/{group_guid}/tags )
Ambil preferensi grup ( GET /v4/groups/{group_guid}/preferences )
Perbarui preferensi grup ( PATCH /v4/groups/{group_guid}/preferences )
Ambil BitLinks By Group ( GET /v4/groups/{group_guid}/bitlinks )
Ambil BitLink yang diurutkan berdasarkan grup ( GET /v4/groups/{group_guid}/bitlinks/{sort} )
Retrieve Group Shorten Counts ( GET /v4/groups/{group_guid}/shorten_counts )
Ambil Klik Metrik untuk grup dengan merujuk jaringan ( GET /v4/groups/{group_guid}/referring_networks )
Ambil Klik Metrik untuk Grup menurut Negara ( GET /v4/groups/{group_guid}/countries )
[premium] mengambil metrik klik untuk grup berdasarkan kota ( GET /v4/groups/{group_guid}/cities )
[premium] Dapatkan overrides grup ( GET /v4/groups/{group_guid}/overrides )
Dokumentasi Organisasi
Ambil Organisasi ( GET /v4/organizations )
Ambil Organisasi ( GET /v4/organizations/{organization_guid} )
Retrieve Organization Shorten Counts ( GET /v4/organizations/{organization_guid}/shorten_counts )
Dokumentasi pengguna
Ambil pengguna ( GET /v4/user )
Perbarui Pengguna ( PATCH /v4/user )
Dokumentasi Bitlinks
Singkat tautan ( POST /v4/shorten )
Perluas Bitlink ( POST /v4/expand )
Ambil bitlink ( GET /v4/bitlinks/{bitlink} )
Buat bitlink ( POST /v4/bitlinks )
Perbarui bitlink ( PATCH /v4/bitlinks/{bitlink} )
Hapus hash bitlink yang belum diedit ( DELETE /v4/bitlinks/{bitlink} )
Dapatkan klik untuk bitlink ( GET /v4/bitlinks/{bitlink}/clicks )
Dapatkan Ringkasan Klik untuk BitLink ( GET /v4/bitlinks/{bitlink}/clicks/summary )
Dapatkan metrik untuk bitlink oleh negara ( GET /v4/bitlinks/{bitlink}/countries )
Dapatkan Metrik untuk Bitlink oleh Referensi ( GET /v4/bitlinks/{bitlink}/referrers )
Dapatkan metrik untuk bitlink dengan merujuk domain ( GET /v4/bitlinks/{bitlink}/referring_domains )
Dapatkan metrik untuk bitlink dengan rujukan dengan domain ( GET /v4/bitlinks/{bitlink}/referrers_by_domains )
[premium] Dapatkan metrik untuk bitlink by city ( GET /v4/bitlinks/{bitlink}/cities )
[premium] Dapatkan metrik untuk bitlink berdasarkan jenis perangkat ( GET /v4/bitlinks/{bitlink}/devices )
[premium] ambil kode QR untuk bitlink ( GET /v4/bitlinks/{bitlink}/qr )
[premium] Perbarui kode QR ( PATCH /v4/bitlinks/{bitlink}/qr )
[Premium] Buat kode QR ( POST /v4/bitlinks/{bitlink}/qr )
Tambahkan BitLink Kustom ( POST /v4/custom_bitlinks )
[premium] mengambil bitlink kustom ( GET /v4/custom_bitlinks/{custom_bitlink} )
[premium] perbarui bitlink kustom ( PATCH /v4/custom_bitlinks/{custom_bitlink} )
[Premium] Dapatkan metrik untuk bitlink kustom dengan tujuan ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination )
[Premium] Dapatkan klik untuk seluruh riwayat bitlin kustom ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks )
[premium] mengambil kampanye ( GET /v4/campaigns )
[Premium] Buat kampanye ( POST /v4/campaigns )
[Premium] Retrieve Campaign ( GET /v4/campaigns/{campaign_guid} )
Kampanye Perbarui [Premium] ( PATCH /v4/campaigns/{campaign_guid} )
[premium] mengambil saluran ( GET /v4/channels )
[Premium] Buat saluran ( POST /v4/channels )
[Premium] RETRIEVE SALURAN ( GET /v4/channels/{channel_guid} )
[premium] perbarui saluran ( PATCH /v4/channels/{channel_guid} )
Dokumentasi Domain Pendek Bermerek
Ambil BSDS ( GET /v4/bsds )
[Premium] Dapatkan webhooks ( GET /v4/organizations/{organization_guid}/webhooks )
[Premium] Buat webhook ( POST /v4/webhooks )
[premium] mengambil webhook ( GET /v4/webhooks/{webhook_guid} )
[Premium] Perbarui webhook ( POST /v4/webhooks/{webhook_guid )
[premium] hapus webhook ( DELETE /v4/webhooks/{webhook_guid} )
[premium] Verifikasi webhook ( POST /v4/webhooks/{webhook_guid}/verify )
Permata ini dilengkapi dengan klien HTTP yang dapat menggunakan adaptor yang berbeda. Ini dikirimkan dengan Net::HTTP yang digunakannya secara default.
Jika Anda ingin mengontrol koneksi, Anda dapat membuat instance Anda sendiri dari Net::HTTP adapter dan lulus opsi untuk proxy http atau opsi yang mengontrol permintaan. Misalnya, untuk mengontrol read_timeout Anda dapat melakukan ini:
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_client, token: token)Demikian pula, Anda dapat menggunakan proxy HTTP dengan adaptor dengan meneruskan variabel proxy ke konstruktor adaptor.
adaptor = bitly :: http :: adapters :: nethttp.new (proxy_addr: "example.com", proxy_port: 80, proxy_user: "username", proxy_pass: "kata sandi") http_client = bitly :: http :: client.new (Adaptor) API_Client = Bitly :: API :: Client.New (http: http_client, token: token)
Jika Anda ingin lebih banyak kontrol atas permintaan, Anda dapat membangun adaptor sendiri. Adaptor HTTP dalam permata ini harus memiliki metode instance request yang menerima Bitly::HTTP::Request objek dan mengembalikan array empat objek:
Kode status respons
Tubuh respons sebagai string
Header respons sebagai hash
Boolean yang menunjukkan apakah responsnya berhasil atau tidak
Lihat ./src/bitly/http/adapters/net_http.rb untuk contoh.
Setelah memeriksa repo, jalankan bin/setup untuk menginstal dependensi. Kemudian, jalankan rake spec untuk menjalankan tes. Anda juga dapat menjalankan bin/console untuk prompt interaktif yang akan memungkinkan Anda untuk bereksperimen.
Untuk menginstal permata ini ke mesin lokal Anda, jalankan bundle exec rake install . Untuk merilis versi baru, perbarui nomor versi di version.rb , dan kemudian jalankan bundle exec rake release , yang akan membuat tag git untuk versi, Push Git Commits and Tag, dan tekan file .gem ke rubygems.org.
Laporan bug dan permintaan tarik dipersilakan di GitHub di https://github.com/philnash/bitly. Proyek ini dimaksudkan untuk menjadi ruang yang aman dan ramah untuk kolaborasi, dan kontributor diharapkan untuk mematuhi Kode Perilaku Perjanjian Kontributor.
Permata tersedia sebagai open source di bawah ketentuan lisensi MIT.
Semua orang yang berinteraksi dalam basis kode proyek Bitly, pelacak masalah, ruang obrolan, dan milis diharapkan mengikuti kode perilaku.