Ruby Gem,用于使用版本4 Bitly API缩短链接,扩展跨用户,链接和组织之间的指标。
安装
用法
验证
创建API客户端
缩短链接
展开链接
可用的API端点
组
组织
用户
位链接
自定义位链接
广告系列
BSD(品牌短域)
Webhooks
自定义HTTP请求
构建自己的适配器
发展
贡献
执照
行为守则
将此行添加到您的应用程序的gemfile:
宝石'bitly'
然后执行:
$捆绑安装
或自行安装:
$ gem安装bitly
要快速介绍,请阅读此博客文章,介绍了如何在Ruby中使用Bitly API。
所有API端点都需要使用OAuth代币进行身份验证。您可以从Bitly Console中获得自己的OAuth令牌。单击“帐户下拉菜单”,然后单击“配置”设置,然后进行通用访问令牌。填写密码,您可以生成OAuth访问令牌。
有关通过OAuth流量为用户生成访问令牌的其他方法,请参见身份验证文档。
拥有访问令牌后,您可以使用所有API方法。
所有API方法均可通过Bitly::API::Client获得。用访问令牌像这样初始化客户端:
client = bitly :: api :: client.new(token:token)
然后,您可以使用客户端使用API执行操作
使用经过身份验证的客户端,您可以缩短这样的链接:
bitlink = client.shorten(long_url:“ http://example.com”)bitlink.link#=> http://bit.ly/2oujim0
通过授权,您可以扩展任何位链接。
bitlink = client.expand(bitlink:“ bit.ly/2oujim0")Bitlink.long_url# => http://example.com
该GEM支持以下API的以下活动V4 API端点。
组文档
检索组( GET /v4/groups )
检索组( 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 )
按组检索位链接( GET /v4/groups/{group_guid}/bitlinks )
通过组检索排序的位链接( GET /v4/groups/{group_guid}/bitlinks/{sort} )
检索组缩短计数( GET /v4/groups/{group_guid}/shorten_counts )
通过引用网络( GET /v4/groups/{group_guid}/referring_networks )检索组的单击指标
通过国家GET /v4/groups/{group_guid}/countries一个组的单击指标
[premium]检索城市组的单击指标( GET /v4/groups/{group_guid}/cities )
[premium]获得组覆盖( GET /v4/groups/{group_guid}/overrides )
组织文档
检索组织( GET /v4/organizations )
检索组织( GET /v4/organizations/{organization_guid} )
检索组织缩短计数( GET /v4/organizations/{organization_guid}/shorten_counts )
用户文档
检索用户( GET /v4/user )
更新用户( PATCH /v4/user )
位链接文档
缩短链接( POST /v4/shorten )
扩展一个位链接( POST /v4/expand )
检索一个位链接( GET /v4/bitlinks/{bitlink} )
创建一个位链接( POST /v4/bitlinks )
更新位链接( PATCH /v4/bitlinks/{bitlink} )
删除未编辑的哈希位链接( DELETE /v4/bitlinks/{bitlink} )
获取bitlink的单击( GET /v4/bitlinks/{bitlink}/clicks )
获取单点列表的bitlink摘要( GET /v4/bitlinks/{bitlink}/clicks/summary )
获取国家/地区的litlink指标( GET /v4/bitlinks/{bitlink}/countries )
获取推荐人( GET /v4/bitlinks/{bitlink}/referrers )的BitLink的指标
通过引用域( GET /v4/bitlinks/{bitlink}/referring_domains )获取位链接指标
通过域的推荐人获取BitLink的指标( GET /v4/bitlinks/{bitlink}/referrers_by_domains )
[premium]获得城市的位链接的指标( GET /v4/bitlinks/{bitlink}/cities )
[premium]通过设备类型获取位链接的指标( GET /v4/bitlinks/{bitlink}/devices )
[premium]检索bitlink的QR码( GET /v4/bitlinks/{bitlink}/qr )
[premium]更新QR代码( PATCH /v4/bitlinks/{bitlink}/qr )
[premium]创建QR代码( POST /v4/bitlinks/{bitlink}/qr )
添加自定义位链接( POST /v4/custom_bitlinks )
[premium]检索自定义位链接( GET /v4/custom_bitlinks/{custom_bitlink} )
[premium]更新自定义位链接( PATCH /v4/custom_bitlinks/{custom_bitlink} )
[premium]获取目标定制位链接的指标( 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]检索广告系列( GET /v4/campaigns/{campaign_guid} )
[premium]更新广告系列( PATCH /v4/campaigns/{campaign_guid} )
[premium]检索频道( GET /v4/channels )
[premium]创建频道( POST /v4/channels )
[premium]检索频道( GET /v4/channels/{channel_guid} )
[premium]更新频道( PATCH /v4/channels/{channel_guid} )
品牌的短域文档
检索BSD( GET /v4/bsds )
[premium]获取webhooks( GET /v4/organizations/{organization_guid}/webhooks )
[premium]创建一个webhook( 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 :: apapters :: nethttp.new(request_options:{read_timeout:1}) :http_client,令牌:令牌)同样,您可以通过将代理变量传递给适配器的构造函数,将适配器的HTTP代理使用。
aDapter = bitly :: http :: apapters :: nethttp.new(proxy_addr:“ xample.com”,proxy_port:80,proxy_user:“ username”,proxy_pass:protxy_pass:“ password”) (适配器)api_client = bitly :: api :: client.new(http:http_client,token:token)
如果您想对请求进行更多的控制,则可以构建自己的适配器。此GEM中的HTTP适配器必须具有接收一个Bitly::HTTP::Request对象的request实例方法并返回四个对象的数组:
响应状态代码
响应的正文作为字符串
响应标题作为哈希
布尔值表示响应是否成功
有关示例,请参见./src/bitly/http/adapters/net_http.rb 。
检查回购后,运行bin/setup以安装依赖关系。然后,运行rake spec以运行测试。您还可以运行bin/console以获得交互提示,该提示可以让您进行实验。
要将此GEM安装到本地计算机上,请运行bundle exec rake install 。要发布新版本,请在version.rb中更新版本号,然后运行bundle exec rake release ,该版本将为版本创建一个git标签,推送git consits and tags,然后将.gem文件推到rubygems.org。
欢迎在https://github.com/philnash/bity上的GitHub上的错误报告和拉动请求。该项目旨在是一个安全,热情的协作空间,预计贡献者将遵守撰稿人契约的行为准则。
根据MIT许可证的条款,该宝石可作为开源。
每个人都在Bitly Project的代码库,问题跟踪器,聊天室和邮件列表中进行交互,预计将遵循《行为守则》。