Querier

URL短縮ツールの比較とGo言語での利用方法

2023.07.05に公開 | 2023.07.06に更新

Querier運営

@querier_io@querierinc

「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。

管理画面の構築もWeb上で完結
エンジニアのためのローコードツール

Querierについて詳しく見る

URL短縮は、Web開発やデジタルマーケティングの世界で重要な役割を果たしています。

本記事では、Go言語を使っているエンジニア向けに、便利なURL短縮ツール/APIの紹介と利用方法を解説します。URL短縮の重要性や利点、そしてセキュリティ上の考慮事項についても触れていきます。

なぜURL短縮を行うべきか

長いURLは見た目が複雑で使いにくく、シェアする際にも不便です。URL短縮を行うことで、短くシンプルなURLを作成することができます。また、SNSやメッセンジャーなどの文字数制限がある環境でも効果的です。さらに、URL短縮はクリック数の解析やトラフィックの測定などのメリットもあります。

Goを使っているエンジニアにおすすめなURL短縮ツール/API

以下に、いくつかの優れたURL短縮ツール/APIを紹介します。それぞれの特徴や利用方法を示します。

1. Bitly

特徴

  • 企業やブランドにとって信頼性の高いURL短縮サービス
  • 短縮URLのカスタマイズやクリック数の分析などの高度な機能を提供

GoでBitlyのAPIを利用する場合、まずアカウントを作成し、APIキーを生成する必要があります。APIキーを取得したら、以下のGoのサンプルコードを使ってURLを短縮します。

import (
  "fmt"
  "net/http"
  "io/ioutil"
)


func shortenURL(url string) (string, error) {
  apiKey := "YOUR_API_KEY"
  apiURL := "https://api-ssl.bitly.com/v4/shorten"
  requestURL := fmt.Sprintf("%s?long_url=%s", apiURL, url)

  client := &http.Client{}
  req, err := http.NewRequest("POST", requestURL, nil)
  if err != nil {
    return "", err
  }

  req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", apiKey))

  resp, err := client.Do(req)
  if err != nil {
    return "", err
  }

  defer resp.Body.Close()

  body, err := ioutil.ReadAll(resp.Body)
  if err != nil {
    return "", err
  }

  shortenedURL := string(body)

  return shortenedURL, nil
}

2. TinyURL

特徴

  • シンプルで使いやすいURL短縮ツール
  • 無料で利用可能
  • APIも提供されている

GoでTinyURLのAPIを利用する場合、まずAPIキーを取得する必要があります。APIキーを取得したら、以下のGoのサンプルコードを使ってURLを短縮します。

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func shortenURL(url string) (string, error) {
  apiKey := "YOUR_API_KEY"
  apiURL := "https://api.tinyurl.com/shorten"
  requestURL := fmt.Sprintf("%s?url=%s&apiKey=%s", apiURL, url, apiKey)

  resp, err := http.Get(requestURL)
  if err != nil {
    return "", err
  }

  defer resp.Body.Close()

  body, err := ioutil.ReadAll(resp.Body)
  if err != nil {
    return "", err
  }

  shortenedURL := string(body)

  return shortenedURL, nil
}

3. Rebrandly

特徴

  • カスタムドメインを使用できるURL短縮サービス
  • 企業のブランド戦略に合わせた独自の短縮URLを作成可能

GoでRebrandlyのAPIを利用する場合、まずAPIキーを生成し、APIエンドポイントに対してリクエストを送信します。以下のGoのサンプルコードを使ってURLを短縮します。

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func shortenURL(url string) (string, error) {
  apiKey := "YOUR_API_KEY"
  apiURL := "https://api.rebrandly.com/v1/links"
  reqBody := fmt.Sprintf(`{
    "destination": "%s"
  }`, url)


  client := &http.Client{}
  req, err := http.NewRequest("POST", apiURL, strings.NewReader(reqBody))
  if err != nil {
    return "", err
  }

  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("apikey", apiKey)

  resp, err := client.Do(req)
  if err != nil {
    return "", err
  }

  defer resp.Body.Close()

  body, err := ioutil.ReadAll(resp.Body)
  if err != nil {
    return "", err
  }

  shortenedURL := string(body)

  return shortenedURL, nil
}

これらのツール/APIは、便利なURL短縮機能を提供しています。選択する際には、使用目的や機能要件、予算などを考慮しましょう。

さいごに

本記事では、Go言語を使っているエンジニア向けに、URL短縮ツール/APIの紹介と利用方法を解説しました。

URL短縮は、見た目の簡潔さやシェアの便利さだけでなく、クリック数の解析やトラフィックの測定などにも役立つ重要な要素です。

セキュリティ上の注意点にも留意しながら、最適なツール/APIを選択し、効果的に活用してください。

「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。

最新の記事

2〜3ヶ月と見積もっていた開発期間を、クエリアを導入することでわずか1週間に短縮できました

2012年5月創業のフルカイテン株式会社。 「在庫をフル回転させる」をコンセプトに、機械学習を駆使したSaaS『FULL KAITEN』を提供し、在庫問題の解決に取り組む。

more

管理画面の構築もWeb上で完結
エンジニアのためのローコードツール

Querierについて詳しく見る