Ruby Gem для использования API версии 4, чтобы сократить ссылки, расширить короткие ссылки и просмотреть метрики по пользователям, ссылкам и организациям.
Установка
Использование
Аутентификация
Создание клиента API
Сократить ссылку
Расширить ссылку
Доступные конечные точки API
Группа
Организации
Пользователи
Bitlinks
Пользовательские битлинк
Кампании
BSDS (фирменные короткие домены)
Webhooks
Настройка HTTP -запросов
Создайте свой собственный адаптер
Разработка
Внося
Лицензия
Нормы поведения
Добавьте эту строку в Gemfile вашего приложения:
драгоценный камень «Битли»
А затем выполнить:
$ bundle install
Или установите его самостоятельно как:
$ gem установить биту
Для быстрого введения прочитайте этот пост в блоге о том, как использовать Bitly API в Ruby.
Все конечные точки API требуют аутентификации с токеном OAuth. Вы можете получить свой собственный токен OAuth от битовой консоли. Нажмите на меню раскрытия учетной записи, затем настройки профиля , затем общий токен доступа . Заполните свой пароль, и вы можете создать токен доступа OAuth.
Другие методы для создания токенов доступа для пользователей через потоки OAuth см. В документации по аутентификации.
Как только у вас есть токен доступа, вы можете использовать все методы API.
Все методы API доступны через Bitly::API::Client Инициализировать клиента с помощью токена доступа, как SO:
client = bitly :: api :: client.new (token: token)
Затем вы можете использовать клиент для выполнения действий с API
С аутентифицированным клиентом вы можете сократить ссылку, как SO:
bitlink = client.shorten (long_url: "http://example.com") bitlink.link# => http://bit.ly/2oujim0
С авторизованным вы можете расширить любую Bitlink.
bitlink = client.expand (bitlink: "bit.ly/2oujim0")bitlink.long_url# => http://example.com
Этот драгоценный камень поддерживает следующие активные конечные точки API V4 для API.
Документация групп
Получить группы ( GET /v4/groups )
Retive Group ( GET /v4/groups/{group_guid} )
Группа обновления ( PATCH /v4/groups/{group_guid} )
Получить теги по группе ( GET /v4/groups/{group_guid}/tags )
Получить настройки группы ( GET /v4/groups/{group_guid}/preferences )
Обновление PATCH /v4/groups/{group_guid}/preferences
Получить Bitlinks по группе ( GET /v4/groups/{group_guid}/bitlinks )
Получить отсортированные битлинк по группе ( GET /v4/groups/{group_guid}/bitlinks/{sort} )
Поиск группы Shorten Counts ( GET /v4/groups/{group_guid}/shorten_counts )
Получить метрики Click для группы, направляя сети ( GET /v4/groups/{group_guid}/referring_networks )
Получить метрики Click для группы по странам ( GET /v4/groups/{group_guid}/countries )
[Premium] Получить метрики Click для группы по городу ( GET /v4/groups/{group_guid}/cities )
[Premium] Get Group переопределяет ( GET /v4/groups/{group_guid}/overrides )
Организации документация
Получить организации ( GET /v4/organizations )
Получить организацию ( GET /v4/organizations/{organization_guid} )
Получить организацию Shorten Counts ( GET /v4/organizations/{organization_guid}/shorten_counts )
Пользовательская документация
Получить пользователя ( GET /v4/user )
Обновить пользователь ( PATCH /v4/user )
Битлинкс документация
Сократить ссылку ( POST /v4/shorten )
Разверните Bitlink ( POST /v4/expand )
Получить Bitlink ( GET /v4/bitlinks/{bitlink} )
Создайте Bitlink ( POST /v4/bitlinks )
Обновите BitLink ( PATCH /v4/bitlinks/{bitlink} )
Удалить неотредактированный хэш bitlink ( DELETE /v4/bitlinks/{bitlink} )
Получить клики для BitLink ( GET /v4/bitlinks/{bitlink}/clicks )
Получите резюме Clicks для Bitlink ( GET /v4/bitlinks/{bitlink}/clicks/summary )
Получить метрики для Bitlink по странам ( GET /v4/bitlinks/{bitlink}/countries )
Получите метрики для Bitlink от рефератов ( GET /v4/bitlinks/{bitlink}/referrers )
Получить метрики для Bitlink, ссылаясь на домены ( GET /v4/bitlinks/{bitlink}/referring_domains )
Получите метрики для Bitlink от рефералов по домену ( GET /v4/bitlinks/{bitlink}/referrers_by_domains )
[Premium] Получите метрики для Bitlink by City ( GET /v4/bitlinks/{bitlink}/cities )
[Premium] Получите метрики для Bitlink по типу устройства ( GET /v4/bitlinks/{bitlink}/devices )
[Premium] Получить QR -код для Bitlink ( GET /v4/bitlinks/{bitlink}/qr )
[Premium] Обновите QR -код ( PATCH /v4/bitlinks/{bitlink}/qr )
[Premium] Создать QR -код ( POST /v4/bitlinks/{bitlink}/qr )
Добавить пользовательский Bitlink ( POST /v4/custom_bitlinks )
[Premium] Получить пользовательский Bitlink ( GET /v4/custom_bitlinks/{custom_bitlink} )
[Premium] Обновите Custom BitLink ( PATCH /v4/custom_bitlinks/{custom_bitlink} )
[Premium] Получите метрики для пользовательского bitlink по назначению ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination )
[Premium] Получите клики для всей истории пользователя Bitlin ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks )
[Premium] Получить кампании ( GET /v4/campaigns )
[Premium] Создать кампанию ( POST /v4/campaigns )
[Premium] Retive Campaign ( GET /v4/campaigns/{campaign_guid} )
[Premium] Кампания обновления ( PATCH /v4/campaigns/{campaign_guid} )
[Premium] Получить каналы ( GET /v4/channels )
[Premium] Создать канал ( POST /v4/channels )
[Premium] Retive Channel ( GET /v4/channels/{channel_guid} )
[Premium] канал обновления ( PATCH /v4/channels/{channel_guid} )
Документация с короткими доменами.
Получить BSD ( GET /v4/bsds )
[Premium] Get Webhooks ( GET /v4/organizations/{organization_guid}/webhooks )
[Premium] Создайте веб -крюк ( POST /v4/webhooks )
[Premium] Получить webhook ( GET /v4/webhooks/{webhook_guid} )
[Premium] Обновите webhook ( POST /v4/webhooks/{webhook_guid )
[Premium] Удалить webhook ( DELETE /v4/webhooks/{webhook_guid} )
[Premium] Проверьте webhook ( POST /v4/webhooks/{webhook_guid}/verify )
Этот драгоценный камень поставляется с HTTP -клиентом, который может использовать разные адаптеры. Он поставляется с Net::HTTP -адаптер, который он использует по умолчанию.
Если вы хотите управлять соединением, вы можете создать свой собственный экземпляр адаптера Net::HTTP и передать его параметры для прокси -сервера HTTP или параметров, которые управляют запросом. Например, чтобы контролировать read_timeout вы можете сделать это:
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, токен: токен)Точно так же вы можете использовать прокси HTTP с адаптером, передавая прокси -переменные конструктору адаптера.
Adapter = bitly :: http :: adapters :: nethttp.new (proxy_addr: "example.com", proxy_port: 80, proxy_user: "username", proxy_pass: "пароль") http_client = bitly :: http :: new.new: "пароль") http_client = bitly :: http: (адаптер) api_client = bitly :: api :: client.new (http: http_client, token: token)
Если вы хотите еще больше контролировать запрос, вы можете построить свой собственный адаптер. Адаптер HTTP в этом камне должен иметь метод экземпляра request , который получает Bitly::HTTP::Request и возвращает массив из четырех объектов:
Код состояния ответа
Тело ответа как струна
Заголовки ответов как хэш
Логический, обозначающий, был ли ответ успешным или нет
См ./src/bitly/http/adapters/net_http.rb
После проверки репо, запустите bin/setup для установки зависимостей. Затем запустите rake spec чтобы запустить тесты. Вы также можете запустить bin/console для интерактивной подсказки, которая позволит вам экспериментировать.
Чтобы установить этот драгоценный камень на локальную машину, запустите bundle exec rake install . bundle exec rake release выпустить .gem версию, обновите номер версии в version.rb .
Отчеты об ошибках и запросы на тягу приветствуются на GitHub по адресу https://github.com/philnash/bitly. Этот проект предназначен для безопасного, гостеприимного пространства для сотрудничества, и ожидается, что участники будут придерживаться Кодекса поведения завета участника.
Драгоценный камень доступен в качестве открытого исходного кода в соответствии с условиями лицензии MIT.
Ожидается, что все, кто взаимодействует в кодовых базах, отслеживании проблем, отслеживания выпуска, отслеживания выпуска, чат и списках рассылки.