[スポンサーリンク]
Bitlyの短縮URLサービス
先日、Bitly社の短縮URLサービスを、Bitlyのサイトから利用しました
今回はPythonで、WebAPIを利用して短縮URLを取得してみます
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/bitly_logo-160x90.png)
[スポンサーリンク]
Bitlyのアカウント登録
アカウント作成
BitlyのWebAPIを利用するには、アカウント登録が必要になります
アカウント登録は無料で行うことが出来ます
有料アカウントを作成すると出来ることが増えますが、今回は無料アカウントで進めます
まず、以下のBitly社のページを開きます
![](https://computer.masas-record-storage-container.com/wp-content/uploads/cocoon-resources/blog-card-cache/a11baf9f6c88e0e419abb3175f9aafd7.png)
トップページのGet Started for Freeを押下して、無料アカウントを作成します
有料アカウントの広告が表示されますが、今回は使用しないので、その下にあるInterested in our free planを選択します
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_001-1024x629.png)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_002-1024x849.png)
アカウントの登録情報の入力が求められます
・Username:使用するユーザ名
・Email address:使用するメールアドレス(後に認証で使用)
・Password:使用するパスワード
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_003.png)
利用目的を確認されます
今回は個人利用なので、For personal useを選択します
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_004.png)
他にも名前や使用目的について、アンケートが表示されます
回答しないことも出来ます
Skip this stepを押下し、スキップします
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_005.png)
Biltyの管理画面が表示されます
これでアカウント作成は完了です
初回ログイン時は、画面上部に表示されている通り、メールアドレスの認証が求められます
メールアドレス認証
Bitlyにアカウントを作成すると、メールアドレスの認証が求められます
右上のメニューから、Profile Settingを押下し、Emailの設定を確認します
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_007.png)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_008.png)
Emailのメニューでは、プライマリのメールアドレスが表示されています
Please verify your emailを押下して、メール認証を行います
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_009.png)
すると下記のような、メールが登録したメールアドレスに届きます
VERIFY YOUR EMAILを押下し、Bitlyのサイトに飛びます
Emailの設定画面で、Your email address is verifiedと表示されれば認証完了です
[スポンサーリンク]
ユーザの管理画面から短縮URLを取得する方法
ユーザの管理画面からも短縮URLを生成することが出来ます
右上のCREATEメニューからLINKを押下します
(初めて生成する場合は、画面の左にある、CREATE YOUR FIRST LINKを押下でもOK)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_019.png)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_012.png)
PASTE LONG URLに短縮URLを生成したいURLを入力し、CREATEボタンを押下します
これで短縮URLの生成が完了です
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_013.png)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_014.png)
[スポンサーリンク]
WebAPIから短縮URLを取得する方法
BitlyはWebAPIも提供しています
公式ドキュメントのサイトは以下です
BitlyのWebAPIは、ドキュメントの通り複数の認証方法をサポートしています
今回はアクセストークンを利用した方法を使用します
アクセストークンの発行
Bitlyのアクセストークンを発行します
右上のユーザメニューから、Profile Setting、Generic Access Tokenと順に押下します
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_015.png)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_016.png)
アクセストークンの発行の為、パスワード認証を求められます
パスワードを入力し、GENERATE TOKENを押下すると、アクセストークンが発行されます
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_017.png)
![](https://computer.masas-record-storage-container.com/wp-content/uploads/2020/05/shorturlbybitlyapi_018-1024x309.png)
サンプルコード
・guid取得
アクセストークンのみで認証する場合、アクセストークンを利用し、GUIDを発行します
1 2 3 4 5 6 |
BitlyGetShortenUrlHeaders = { 'Host' : BitlyGetShortenUrlApiHost ,'Authorization' : BitlyGetShortenUrlApiAccessToken ,'Content-Type' : 'application/json' } BitlyGetGuidResPonse = requests.get(BitlyGetGroupsUrl, headers = BitlyGetShortenUrlHeaders) |
・短縮URL取得
発行したGUIDと短縮URLを生成するURLをヘッダーに入れ、getを使ってリクエストします
1 2 3 4 5 |
BitlyGetShortenUrlParameters = { 'long_url' : BitlyTargetLongUrl ,'group_guid' : BitlyGetGuidResult['groups'][0]['guid'] } BitlyGetShortenUrlResponse = requests.post(BitlyGetShortenUrlApiUrl, headers = BitlyGetShortenUrlHeaders, json = BitlyGetShortenUrlParameters) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# coding: utf_8 # モジュールインポート import json import requests # パラメータ設定 BitlyGetShortenUrlApiHost = 'api-ssl.bitly.com' BitlyGetGroupsUrl = 'https://api-ssl.bitly.com/v4/groups' BitlyGetShortenUrlApiUrl = 'https://api-ssl.bitly.com/v4/shorten' BitlyGetShortenUrlApiAccessToken = 【AccessToken】 BitlyTargetLongUrl = 【対象URL】 # guid取得 BitlyGetShortenUrlHeaders = { 'Host' : BitlyGetShortenUrlApiHost ,'Authorization' : BitlyGetShortenUrlApiAccessToken ,'Content-Type' : 'application/json' } BitlyGetGuidResPonse = requests.get(BitlyGetGroupsUrl, headers = BitlyGetShortenUrlHeaders) BitlyGetGuidResult = json.loads(BitlyGetGuidResPonse.text) # 短縮URL取得 BitlyGetShortenUrlParameters = { 'long_url' : BitlyTargetLongUrl ,'group_guid' : BitlyGetGuidResult['groups'][0]['guid'] } BitlyGetShortenUrlResponse = requests.post(BitlyGetShortenUrlApiUrl, headers = BitlyGetShortenUrlHeaders, json = BitlyGetShortenUrlParameters) print(BitlyGetShortenUrlResponse) if BitlyGetShortenUrlResponse.status_code == 200 or BitlyGetShortenUrlResponse.status_code == 201: BitlyGetShortenUrlResult = json.loads(BitlyGetShortenUrlResponse.text) print(BitlyGetShortenUrlResult) |
サンプルレスポンス①
正常に短縮URLが生成された場合、HTTPの201レスポンスが返ってきます
BitlyGetShortenUrlResult[‘link’]に、生成された短縮URLが入っています
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<Response [201]> { 'created_at': '2020-05-01T05:34:09+0000' , 'id': 'bit.ly/3aSP9jN' , 'link': 'https://bit.ly/3aSP9jN' , 'custom_bitlinks': [] , 'long_url': 'https://computer.masas-record-storage-container.com/2020/04/21/python3twitterapi/' , 'archived': False , 'tags': [] , 'deeplinks': [] , 'references': { 'group': 'https://api-ssl.bitly.com/v4/groups/【GID】' } } |
サンプルレスポンス②
生成対象のURLの短縮URLが既に生成されていた場合、HTTPの200レスポンスが返ってきます
BitlyGetShortenUrlResult[‘link’]に、生成されている短縮URLが入っています
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<Response [200]> { 'created_at': '2020-05-01T05:34:09+0000' , 'id': 'bit.ly/3aSP9jN' , 'link': 'https://bit.ly/3aSP9jN' , 'custom_bitlinks': [] , 'long_url': 'https://computer.masas-record-storage-container.com/2020/04/21/python3twitterapi/' , 'archived': False , 'tags': [] , 'deeplinks': [] , 'references': { 'group': 'https://api-ssl.bitly.com/v4/groups/【GID】' } } |
[スポンサーリンク]
コメント