Una gema Ruby para usar la API de Bitly de la Versión 4 para acortar enlaces, expandir enlaces cortos y ver métricas entre usuarios, enlaces y organizaciones.
Instalación
Uso
Autenticación
Creación de un cliente API
Acortar un enlace
Expandir un enlace
Puntos finales de API disponibles
Grupos
Organizaciones
Usuarios
Bitlinks
Enlaces de bits personalizados
Campañas
BSDS (dominios cortos de marca)
Webhooks
Personalización de solicitudes HTTP
Construye tu propio adaptador
Desarrollo
Que contribuye
Licencia
Código de conducta
Agregue esta línea al archivo gem de su aplicación:
gema 'bitly'
Y luego ejecutar:
Instalación de $ Bundle
O instálelo usted mismo como:
$ gema instalación bitly
Para una introducción rápida, lea esta publicación de blog sobre cómo usar la API Bitly en Ruby.
Todos los puntos finales de API requieren autenticación con un token OAuth. Puede obtener su propia token OAuth de la consola bitly. Haga clic en el menú desplegable de la cuenta, luego la configuración de perfil y luego el token de acceso genérico . Complete su contraseña y puede generar un token de acceso OAuth.
Para otros métodos para generar tokens de acceso para los usuarios a través de flujos de OAuth, consulte la documentación de autenticación.
Una vez que tenga un token de acceso, puede usar todos los métodos API.
Todos los métodos API están disponibles a través del Bitly::API::Client
. Inicializar el cliente con el token de acceso así:
Client = Bitly :: API :: Client.new (Token: Token)
Luego puede usar el cliente para realizar acciones con la API
Con un cliente autenticado, puede acortar un enlace como así:
bitlink = client.shorten (long_url: "http://example.com") bitlink.link# => http://bit.ly/2oujim0
Con un autorizado, puede expandir cualquier BitLink.
bitlink = client.expand (bitlink: "bit.ly/2oujim0")bitlink.long_url# => http://example.com
Esta GEM admite los siguientes puntos finales de API V4 activos para API Thatyly.
Documentación de grupos
Recuperar grupos ( GET /v4/groups
)
Recuperar grupo ( GET /v4/groups/{group_guid}
)
Group de actualización ( PATCH /v4/groups/{group_guid}
)
Recuperar etiquetas por grupo ( GET /v4/groups/{group_guid}/tags
)
Recuperar preferencias de grupo ( GET /v4/groups/{group_guid}/preferences
)
Actualizar preferencias de grupo ( PATCH /v4/groups/{group_guid}/preferences
)
Recupere bitlinks por grupo ( GET /v4/groups/{group_guid}/bitlinks
)
Recupere los enlaces de bits ordenados por grupo ( GET /v4/groups/{group_guid}/bitlinks/{sort}
)
Recuperar el grupo Shorten Counts ( GET /v4/groups/{group_guid}/shorten_counts
)
Recupere las métricas de clic para un grupo referiendo redes ( GET /v4/groups/{group_guid}/referring_networks
)
Recupere las métricas de clic para un grupo por países ( GET /v4/groups/{group_guid}/countries
)
[Premium] Recupere las métricas de clic para un grupo de City ( GET /v4/groups/{group_guid}/cities
)
[Premium] Obtener anulaciones de grupo ( GET /v4/groups/{group_guid}/overrides
)
Documentación de organizaciones
Recuperar organizaciones ( GET /v4/organizations
)
Recuperar organización ( GET /v4/organizations/{organization_guid}
)
Recuperar la organización Shorten Counts ( GET /v4/organizations/{organization_guid}/shorten_counts
)
Documentación de usuarios
Recuperar el usuario ( GET /v4/user
)
Actualizar usuario ( PATCH /v4/user
)
Documentación de BitLinks
Acortar un enlace ( POST /v4/shorten
)
Expandir un bitlink ( POST /v4/expand
)
Recupere un bitlink ( GET /v4/bitlinks/{bitlink}
)
Crea un bitlink ( POST /v4/bitlinks
)
Actualizar un bitlink ( PATCH /v4/bitlinks/{bitlink}
)
Eliminar un hash bitlink sin editar ( DELETE /v4/bitlinks/{bitlink}
)
Obtenga clics para un bitlink ( GET /v4/bitlinks/{bitlink}/clicks
)
Obtenga un resumen de clics para un bitlink ( GET /v4/bitlinks/{bitlink}/clicks/summary
)
Obtenga métricas para un bitlink por países ( GET /v4/bitlinks/{bitlink}/countries
)
Obtenga métricas para un bitlink por los referentes ( GET /v4/bitlinks/{bitlink}/referrers
)
Obtenga métricas para un bitlink referiendo dominios ( GET /v4/bitlinks/{bitlink}/referring_domains
)
Obtenga métricas para un bitlink por los referentes por dominio ( GET /v4/bitlinks/{bitlink}/referrers_by_domains
)
[Premium] Obtenga métricas para un bitlink por ciudad ( GET /v4/bitlinks/{bitlink}/cities
)
[Premium] Obtenga métricas para un bitlink por tipo de dispositivo ( GET /v4/bitlinks/{bitlink}/devices
)
[Premium] Recupere un código QR para un bitlink ( GET /v4/bitlinks/{bitlink}/qr
)
[Premium] Actualice un código QR ( PATCH /v4/bitlinks/{bitlink}/qr
)
[Premium] Crear un código QR ( POST /v4/bitlinks/{bitlink}/qr
)
Agregue BitLink personalizado ( POST /v4/custom_bitlinks
)
[Premium] Recupere BitLink personalizado ( GET /v4/custom_bitlinks/{custom_bitlink}
)
[Premium] Actualizar BitLink personalizado ( PATCH /v4/custom_bitlinks/{custom_bitlink}
)
[Premium] Obtenga métricas para un bitlink personalizado por destino ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination
)
[Premium] Obtenga clics para el historial completo de un Bitlin personalizado ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks
)
[Premium] Campañas de recuperación ( GET /v4/campaigns
)
[Premium] Crear campaña ( POST /v4/campaigns
)
[Premium] Campaña de recuperación ( GET /v4/campaigns/{campaign_guid}
)
[premium] Update campaign ( PATCH /v4/campaigns/{campaign_guid}
)
[Premium] Recuperar canales ( GET /v4/channels
)
[Premium] Crear canal ( POST /v4/channels
)
[Premium] Recuperar canal ( GET /v4/channels/{channel_guid}
)
[Premium] Update Channel ( PATCH /v4/channels/{channel_guid}
)
Documentación de dominios cortos de marca
Recuperar BSD ( GET /v4/bsds
)
[Premium] Get Webhooks ( GET /v4/organizations/{organization_guid}/webhooks
)
[Premium] Crear un webhook ( POST /v4/webhooks
)
[Premium] Recuperar un webhook ( GET /v4/webhooks/{webhook_guid}
)
[Premium] Actualice un webhook ( POST /v4/webhooks/{webhook_guid
)
[Premium] Eliminar un Webhook ( DELETE /v4/webhooks/{webhook_guid}
)
[Premium] Verifique un webhook ( POST /v4/webhooks/{webhook_guid}/verify
)
Esta gema viene con un cliente HTTP que puede usar diferentes adaptadores. Se envía con un adaptador Net::HTTP
que usa de forma predeterminada.
If you want to control the connection, you can create your own instance of the Net::HTTP
adapter and pass it options for an HTTP proxy or options that control the request. Por ejemplo, para controlar el read_timeout
puede hacer esto:
adapter = bitly :: http :: adapters :: nethttp.new (request_options: {read_timeout: 1}) http_client = bitly :: http :: client.new (adaptador) api_client = bitly :: api :: client.new (http : http_client, token: token)
Del mismo modo, puede usar un proxy HTTP con el adaptador pasando las variables de proxy al constructor del adaptador.
adapter = bitly :: http :: adapters :: nethttp.new (proxy_addr: "ejemplo.com", proxy_port: 80, proxy_user: "username", proxy_pass: "contraseña") http_client = bitly :: http :: client.new (adaptador) api_client = bitly :: api :: client.new (http: http_client, token: token)
Si desea aún más control sobre la solicitud, puede construir su propio adaptador. Un adaptador HTTP dentro de esta gema debe tener un método de instancia request
que reciba un Bitly::HTTP::Request
y devuelve una matriz de cuatro objetos:
El código de estado de respuesta
El cuerpo de la respuesta como una cadena
Los encabezados de respuesta como un hash
Un booleano denota si la respuesta fue un éxito o no
Consulte ./src/bitly/http/adapters/net_http.rb
para un ejemplo.
Después de revisar el repositorio, ejecute bin/setup
para instalar dependencias. Luego, ejecute rake spec
para ejecutar las pruebas. También puede ejecutar bin/console
para un mensaje interactivo que le permitirá experimentar.
Para instalar esta gema en su máquina local, ejecute bundle exec rake install
. Para lanzar una nueva versión, actualice el número de versión en version.rb
y luego ejecute bundle exec rake release
, que creará una etiqueta GIT para la versión, Push Git Commits and Tags, y empuje el archivo .gem
a rubygems.org.
Los informes de errores y las solicitudes de extracción son bienvenidas en GitHub en https://github.com/philnash/bitly. Este proyecto está destinado a ser un espacio seguro y acogedor para la colaboración, y se espera que los contribuyentes se adhieran al Código de Conducta del Pacto de contribuyente.
La gema está disponible como código abierto bajo los términos de la licencia MIT.
Se espera que todos los que interactúen en las bases de código del proyecto bitly, los rastreadores de problemas, las salas de chat y las listas de correo sigan el código de conducta.