
## はじめに
Alfred WorkflowでURL短縮にTinyURLを使っていましたが、x.gdに乗り換えました。その理由と設定変更の手順をメモします。
## なぜx.gdに乗り換えたか
TinyURLも便利でしたが、**とにかくURLが短い**ことが決め手となり、x.gdに乗り換えました。
**x.gdを選んだ理由:**
* **圧倒的な短さ:** 他サービスより短く、文字数を抑えたい場合に最適。メールやLINEでの共有に有利。
* **シンプルなAPI:** 実装が容易。
**TinyURLの不満点:**
* **URLの長さ:** x.gdの方がさらに短い。
URLの短さを最優先するなら、x.gdが最適と判断しました。
## x.gdの設定手順
### 1. APIキーの発行
まずはx.gdでAPIキーを発行します。
1. [x.gdのウェブサイト](https://xgd.io/)にアクセスします。
2. 開発者向け > APIキー発行 でメールアドレスを入力します。
3. メールが届いたらアクティベートします
### 2. Alfred WorkflowのRun Scriptを変更
次に、Alfred Workflowの`shorten_url`のRun Scriptを以下のように変更します。
```bash
# x.gdバージョン
API_KEY="your_api_key" # ここに取得したAPIキーを入力
URL_TO_SHORTEN="$1"
RESPONSE=$(curl -s "https://xgd.io/V1/shorten?url=${URL_TO_SHORTEN}&key=${API_KEY}&analytics=false")
SHORT_URL=$(echo "$RESPONSE" | jq -r '.shorturl')
echo -n "$SHORT_URL"
```
- `your_api_key`取得したご自身のx.gdのAPIキーに置き換えてください。
#### 変更点
* APIのエンドポイントを`https://xgd.io/V1/shorten`に変更
* APIキーを`key`パラメータで渡すように変更
* `analytics=false`を追加(任意)
#### `analytics`パラメータについて
`analytics=false`に設定し、クリック数などの分析情報を取得しないようにしています。分析情報が必要な場合は、`true`に変更するか、パラメータ自体を削除してください。
個人的には、詳細な分析はx.gdのウェブインターフェースで行えば十分だと考えているため、`false`に設定しています。
### 3. その他の設定
Run Scriptの結果を、`Copy to Clipboard` と `Large Type` に接続します

## まとめ
以上で、Alfred Workflowでの短縮URL生成をx.gdに移行する手順は完了です。x.gdの出力はとにかく短いので、短縮URLの利用が気持ちよくなることを期待しています。
## 参考
* [URL短縮サービス X.gd](https://x.gd/)
* [Developers | URL短縮サービス X.gd](https://x.gd/view/developer)