今更ながらURL短縮サービスのbit.lyとGoogle URL ShortenerのAPIを叩いてみましたーということで備忘録
bit.lyのURL短縮のAPIを叩く
認証に関してはOAuth2.0のAuthorization Code Grant、Resource Owner Credentials Grantsが利用可能でBasic認証にも対応してます。第三者に利用させないのであれば確認用のaccess_tokenを発行して試すことも可能。Basic認証だとこんな感じ
$ curl -i -X POST \
-H "Authorization:Basic {base64encode(username:password)}" \
'https://api-ssl.bitly.com/oauth/access_token'
レスポンスはtext/plain形式で返されます。
ここで取得したアクセストークンを使って、bit.lyのAPIを叩くことができます。URL短縮のAPIは以下の通り。
$ curl -i -X GET \
'https://api-ssl.bitly.com/v3/shorten?access_token={access_token}&longUrl=http%3A%2F%2Ffreedom-man.com%2Fblog%2F'
レスポンスはこんな感じ↓
{
"status_code": 200,
"status_txt": "OK",
"data": {
"long_url": "http://freedom-man.com/blog/",
"url": "http://bit.ly/1OcGpUh",
"hash": "1OcGpUh",
"global_hash": "1lIyJkY",
"new_hash": 0
}
}
Google URL ShortenerのAPIを叩く
OAuth2.0で取得したアクセストークンを利用する方法とAPIキーを使う方法があります。今回はAPIキーを利用する方法で試してみます。事前にやることは以下の2つです
- Developer ConsoleでGoogle ShortenerのAPIを有効化
- APIキーを発行
取得したAPIキーを使って以下のようにしてAPIを叩きます。
$ curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"longUrl": "http://freedom-man.com/blog"}' \
'https://www.googleapis.com/urlshortener/v1/url?key={API_KEY}'
レスポンスはこんな感じ↓
{
"kind": "urlshortener#url",
"id": "http://goo.gl/A3Rm0Y",
"longUrl": "http://freedom-man.com/blog"
}