Uma jóia Ruby para usar a API Bitly da versão 4 para reduzir os links, expandir links curtos e visualizar métricas entre usuários, links e organizações.
Instalação
Uso
Autenticação
Criando um cliente da API
Encurre um link
Expandir um link
Terminais de API disponíveis
Grupos
Organizações
Usuários
BitLinks
BitLinks personalizados
Campanhas
BSDs (domínios curtos da marca)
Webhooks
Personalizando solicitações HTTP
Construa seu próprio adaptador
Desenvolvimento
Contribuindo
Licença
Código de Conduta
Adicione esta linha ao GemFile do seu aplicativo:
Gem 'bitly'
E depois execute:
$ pacote de instalação
Ou instale você mesmo como:
$ gem install bitly
Para uma introdução rápida, leia este post sobre como usar a API Bitly em Ruby.
Todos os pontos de extremidade da API requerem autenticação com um token OAuth. Você pode obter seu próprio token OAuth do console bitly. Clique no menu suspenso da conta e, em seguida, as configurações de perfil e depois o token de acesso genérico . Preencha sua senha e você pode gerar um token de acesso OAuth.
Para outros métodos para gerar tokens de acesso para os usuários via fluxos de OAuth, consulte a documentação da autenticação.
Depois de ter um token de acesso, você pode usar todos os métodos da API.
Todos os métodos da API estão disponíveis no Bitly::API::Client
. Inicialize o cliente com o token de acesso como assim:
cliente = bitly :: api :: client.new (token: token)
Você pode usar o cliente para executar ações com a API
Com um cliente autenticado, você pode reduzir um link como assim:
bitlink = client.shorten (long_url: "http://example.com") bitlink.link# => http://bit.ly/2oujim0
Com um autorizado, você pode expandir qualquer bitlink.
bitlink = client.expand (bitlink: "bit.ly/2oujim0")bitlink.long_url# => http://example.com
Esta gema suporta os seguintes pontos de extremidade API ativa V4 para a APIbly API.
Documentação de grupos
Recuperar grupos ( GET /v4/groups
)
Recuperar grupo ( GET /v4/groups/{group_guid}
)
Grupo de atualização ( PATCH /v4/groups/{group_guid}
)
Recuperar tags por grupo ( GET /v4/groups/{group_guid}/tags
)
Recuperar as preferências do grupo ( GET /v4/groups/{group_guid}/preferences
)
Atualizar preferências do grupo ( PATCH /v4/groups/{group_guid}/preferences
)
Recuperar bitlinks por grupo ( GET /v4/groups/{group_guid}/bitlinks
)
Recuperar bitlinks classificados por grupo ( GET /v4/groups/{group_guid}/bitlinks/{sort}
)
Recuperar contagens de encurtamento em grupo ( GET /v4/groups/{group_guid}/shorten_counts
)
Recuperar métricas de clique em um grupo referindo redes ( GET /v4/groups/{group_guid}/referring_networks
)
Recuperar métricas de clique em um grupo por países ( GET /v4/groups/{group_guid}/countries
)
[Premium] Recuperar métricas de clique em um grupo por cidade ( GET /v4/groups/{group_guid}/cities
)
[Premium] Obtenha substituições de grupo ( GET /v4/groups/{group_guid}/overrides
)
Documentação das organizações
Recuperar organizações ( GET /v4/organizations
)
Recuperar Organização ( GET /v4/organizations/{organization_guid}
)
Recuperar a organização Curren Counts ( GET /v4/organizations/{organization_guid}/shorten_counts
)
Documentação dos usuários
Recuperar o usuário ( GET /v4/user
)
Atualize o usuário ( PATCH /v4/user
)
Documentação de bitlinks
Encurre um link ( POST /v4/shorten
)
Expanda um bitlink ( POST /v4/expand
)
Recupere um bitlink ( GET /v4/bitlinks/{bitlink}
)
Create a Bitlink ( POST /v4/bitlinks
)
Atualize um bitlink ( PATCH /v4/bitlinks/{bitlink}
)
Exclua um hash bitlink não editado ( DELETE /v4/bitlinks/{bitlink}
)
Obtenha cliques para um bitlink ( GET /v4/bitlinks/{bitlink}/clicks
)
Obtenha cliques resumo para um bitlink ( GET /v4/bitlinks/{bitlink}/clicks/summary
)
Obtenha métricas para um bitlink pelos países ( GET /v4/bitlinks/{bitlink}/countries
)
Obtenha métricas para um bitlink por referentes ( GET /v4/bitlinks/{bitlink}/referrers
)
Obtenha métricas para um bitlink referindo domínios ( GET /v4/bitlinks/{bitlink}/referring_domains
)
Obtenha métricas para um bitlink by referrers by domain ( GET /v4/bitlinks/{bitlink}/referrers_by_domains
)
[Premium] Obtenha métricas para um bitlink pela cidade ( GET /v4/bitlinks/{bitlink}/cities
)
[Premium] Obtenha métricas para um tipo de bitLink por dispositivo ( GET /v4/bitlinks/{bitlink}/devices
)
[Premium] Recupere um código QR para um bitlink ( GET /v4/bitlinks/{bitlink}/qr
)
[Premium] Atualizar um código QR ( PATCH /v4/bitlinks/{bitlink}/qr
)
[Premium] Crie um código QR ( POST /v4/bitlinks/{bitlink}/qr
)
Adicionar bitlink personalizado ( POST /v4/custom_bitlinks
)
[Premium] Recupere o bitLink personalizado ( GET /v4/custom_bitlinks/{custom_bitlink}
)
[Premium] Atualizar BitLink personalizado ( PATCH /v4/custom_bitlinks/{custom_bitlink}
)
[Premium] Obtenha métricas para um bitlink personalizado por destino ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination
)
[Premium] Obtenha cliques para todo o histórico de um bitlin personalizado ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks
)
[Premium] Recuperar campanhas ( GET /v4/campaigns
)
[Premium] Create Campaign ( POST /v4/campaigns
)
[premium] Retrieve campaign ( GET /v4/campaigns/{campaign_guid}
)
[Premium] Campanha de atualização ( PATCH /v4/campaigns/{campaign_guid}
)
[Premium] Recuperar os canais ( GET /v4/channels
)
[Premium] Criar canal ( POST /v4/channels
)
[Premium] Recuperar canal ( GET /v4/channels/{channel_guid}
)
[premium] canal de atualização ( PATCH /v4/channels/{channel_guid}
)
Documentação de domínios curtos da marca
Recuperar BSDs ( GET /v4/bsds
)
[Premium] Get WebHooks ( GET /v4/organizations/{organization_guid}/webhooks
)
[Premium] Crie um webhook ( POST /v4/webhooks
)
[Premium] Recupere um webhook ( GET /v4/webhooks/{webhook_guid}
)
[Premium] Atualize um webhook ( POST /v4/webhooks/{webhook_guid
)
[Premium] Exclua um webhook ( DELETE /v4/webhooks/{webhook_guid}
)
[Premium] Verifique um webhook ( POST /v4/webhooks/{webhook_guid}/verify
)
Esta jóia vem com um cliente HTTP que pode usar adaptadores diferentes. Ele é enviado com um adaptador Net::HTTP
que ele usa por padrão.
Se você deseja controlar a conexão, poderá criar sua própria instância do adaptador Net::HTTP
e passar as opções para um proxy HTTP ou opções que controlem a solicitação. Por exemplo, para controlar o read_timeout
você pode fazer isso:
adaptador = bitly :: http :: adaptadores :: nethttp.new (request_options: {read_timeout: 1}) http_client = bitly :: http :: client.new (adaptador) api_client = bitly :: api :: client.new (httpy : http_client, token: token)
Da mesma forma, você pode usar um proxy HTTP com o adaptador passando as variáveis de proxy para o construtor do adaptador.
adaptador = bitly :: http :: adaptadores :: nethttp.new (proxy_addr: "exemplo.com", proxy_port: 80, proxy_user: "nome de usuário", proxy_pass: "senha") http_client = bitly :: http: client.new ") (adaptador) api_client = bitly :: api :: client.new (http: http_client, token: token)
Se você deseja ainda mais controle sobre a solicitação, pode criar seu próprio adaptador. Um adaptador HTTP dentro desta jóia deve ter um método de instância request
que recebe um Bitly::HTTP::Request
e retorna uma matriz de quatro objetos:
O código de status da resposta
O corpo da resposta como uma corda
Os cabeçalhos de resposta como um hash
Um booleano denotando se a resposta foi um sucesso ou não
Veja ./src/bitly/http/adapters/net_http.rb
para um exemplo.
Depois de verificar o repositório, execute bin/setup
para instalar dependências. Em seguida, execute rake spec
para executar os testes. Você também pode executar bin/console
para um prompt interativo que permitirá experimentar.
Para instalar esta gema na sua máquina local, execute bundle exec rake install
. Para lançar uma nova versão, atualize o número da versão no version.rb
e, em seguida, execute bundle exec rake release
, que criará uma tag git para a versão, push git cometa e tags e pressionará o arquivo .gem
para rubygems.org.
Relatórios de bug e solicitações de puxar são bem -vindos no github em https://github.com/philnash/bitly. Este projeto deve ser um espaço seguro e acolhedor para a colaboração, e espera -se que os colaboradores sigam o Código de Conduta do Covenant colaborador.
A GEM está disponível como código aberto nos termos da licença do MIT.
Todos interagindo nas bases de código, rastreadores, salas de bate -papo e listas de correspondência devem seguir o código de conduta.