バージョン4 Bitly APIを使用してリンクを短くし、短いリンクを展開し、ユーザー、リンク、および組織間でメトリックを表示するためのRuby Gem。
インストール
使用法
認証
APIクライアントの作成
リンクを短くします
リンクを展開します
利用可能なAPIエンドポイント
グループ
組織
ユーザー
ビットリンク
カスタムビットリンク
キャンペーン
BSDS(ブランドの短いドメイン)
webhooks
HTTPリクエストのカスタマイズ
独自のアダプターを構築します
発達
貢献
ライセンス
行動規範
この行をアプリケーションのGemfileに追加します。
gem 'bitly'
そして実行してください:
$バンドルインストール
または、自分でインストールします:
$ gemインストールBitly
簡単に紹介するには、RubyでBitly APIを使用する方法に関するこのブログ投稿をご覧ください。
すべてのAPIエンドポイントには、OAuthトークンを使用した認証が必要です。 Bitlyコンソールから独自の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を拡張できます。
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 )
[プレミアム] Cityのグループのクリックメトリックを取得する( GET /v4/groups/{group_guid}/cities )
[プレミアム] GET GROUP OVERRIDES( 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 )
BitLinksドキュメント
リンクを短くする( POST /v4/shorten )
ビットリンクを展開します( POST /v4/expand )
ビットリンクを取得する( GET /v4/bitlinks/{bitlink} )
ビットリンクを作成する( POST /v4/bitlinks )
ビットリンクを更新します( PATCH /v4/bitlinks/{bitlink} )
編集されていないハッシュビットリンクを削除する( DELETE /v4/bitlinks/{bitlink} )
ビットリンクのクリックを取得します( GET /v4/bitlinks/{bitlink}/clicks )
ビットリンクのクリック概要を取得( GET /v4/bitlinks/{bitlink}/clicks/summary )
国ごとのビットリンクのメトリックを入手してください( GET /v4/bitlinks/{bitlink}/countries )
紹介者によるビットリンクのメトリックを取得( GET /v4/bitlinks/{bitlink}/referrers )
ドメインを参照してビットリンクのメトリックを取得します( GET /v4/bitlinks/{bitlink}/referring_domains )
domainによる紹介者によるビットリンクのメトリックを取得( GET /v4/bitlinks/{bitlink}/referrers_by_domains )
[プレミアム] Cityによるビットリンクのメトリックを入手( GET /v4/bitlinks/{bitlink}/cities )
[プレミアム]デバイスタイプごとにビットリンクのメトリックを入手してください( GET /v4/bitlinks/{bitlink}/devices )
[プレミアム] bitlinkのQRコードを取得する( GET /v4/bitlinks/{bitlink}/qr )
[プレミアム] QRコードを更新します( PATCH /v4/bitlinks/{bitlink}/qr )
[プレミアム] QRコードを作成する( POST /v4/bitlinks/{bitlink}/qr )
カスタムビットリンク( POST /v4/custom_bitlinks )を追加
[プレミアム]カスタムビットリンクを取得する( GET /v4/custom_bitlinks/{custom_bitlink} )
[プレミアム]カスタムビットリンクを更新する( PATCH /v4/custom_bitlinks/{custom_bitlink} )
[プレミアム]宛先ごとにカスタムビットリンクのメトリックを取得( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination )
[プレミアム]カスタムBitlinの全履歴のクリックを取得します( GET /v4/custom_bitlinks/{custom_bitlink}/clicks )
[プレミアム]キャンペーンを取得する( GET /v4/campaigns )
[プレミアム]キャンペーンの作成( POST /v4/campaigns )
[プレミアム]キャンペーンを取得する( GET /v4/campaigns/{campaign_guid} )
[プレミアム]更新キャンペーン( PATCH /v4/campaigns/{campaign_guid} )
[プレミアム]チャンネルを取得する( GET /v4/channels )
[プレミアム]チャンネルの作成( POST /v4/channels )
[プレミアム]チャンネルを取得する( GET /v4/channels/{channel_guid} )
[プレミアム]アップデートチャネル( PATCH /v4/channels/{channel_guid} )
ブランド化された短いドメインのドキュメント
BSDを取得する( GET /v4/bsds )
[プレミアム] webhooksを取得する( GET /v4/organizations/{organization_guid}/webhooks )
[プレミアム] WebHook( POST /v4/webhooks )を作成する
[プレミアム] Webhook( GET /v4/webhooks/{webhook_guid}を取得)
[プレミアム] Webhook( POST /v4/webhooks/{webhook_guid )を更新する
[プレミアム] Webhook( DELETE /v4/webhooks/{webhook_guid}を削除する)
[プレミアム] 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: "proxy_pass)http_client = bitly :: http :: client.new (adapter)api_client = bitly :: api :: client.new(http:http_client、token:token)
リクエストをさらに制御したい場合は、独自のアダプターを構築できます。このgem内のHTTPアダプターには、Bitlyを受信するrequestインスタンスメソッドが必要ですBitly::HTTP::Requestオブジェクトは、4つのオブジェクトの配列を返します。
応答ステータスコード
文字列としての応答の本体
ハッシュとしての応答ヘッダー
応答が成功したかどうかを示すブール値
例については、 ./src/bitly/http/adapters/net_http.rbを参照してください。
リポジトリをチェックアウトした後、 bin/setup実行して依存関係をインストールします。次に、 rake spec実行してテストを実行します。また、実験を可能にするインタラクティブなプロンプトのbin/console実行することもできます。
この宝石をローカルマシンにインストールするには、 bundle exec rake install実行します。新しいバージョンをリリースするには、 version.rbのバージョン番号を更新してから、バージョンのgitタグを作成し、gitコミットとタグをプッシュし、 .gemファイルbundle exec rake release Rubygems.orgにプッシュします。
バグレポートとプルリクエストは、https://github.com/philnash/bitlyのGithubで大歓迎です。このプロジェクトは、コラボレーションのための安全で居心地の良いスペースであることを目的としており、貢献者は貢献者の契約行動規範を遵守することが期待されています。
宝石は、MITライセンスの条件の下でオープンソースとして利用できます。
Bitly Projectのコードベース、発行トラッカー、チャットルーム、メーリングリストで対話する全員が、行動規範に従うことが期待されています。