Google の短縮 URL の goo.gl を cURL でシンプルに扱う関数

bit.ly を普段使っていますが、Google の短縮 URL の goo.gl もシンプルで安定感がありそうなので試してみました。使い方は以下の記事がそのまま参考になりました。

大変恐縮では御座いますが、私なりにアレンジさせて頂き、関数化させて頂きました。第一引数に URL を入れれば短縮した URL を返してくれますので使いやすいです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function shorten_url($url, $google_apikey = '')
{
    $curl = curl_init();
    if($google_apikey == '') {
        $urlparam = '';
    } else {
        $urlparam = '?key=' . $google_apikey;
    }
    curl_setopt($curl, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url' . $urlparam);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, '{"longUrl":"' . $url . '"}');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $res = curl_exec($curl);
    curl_close($curl);
    $json = json_decode($res);
    if(isset($json->id)) {
        return $json->id;
    } else {
        return false;
    }
}

第二引数は API key を入れますが入れなくても動きます。

コメント

コメントは受け付けていません。