Google関連

[Google Apps Script]URL Shortener APIを使って短縮URLを取得する自作関数

2015/7/14 追記:

いつの間にかAPIの呼び出しにAPIキーが必要になっていました(ページ下部「拡張サービス」版は不要です)。
APIキーの取得方法は「goo.glで短縮URLを取得するVBAマクロ」をご参照ください。

function getShortUrl(url){
    var key = "(APIキー)";
    var api_url = "https://www.googleapis.com/urlshortener/v1/url?key=" + key;
    var payload = '{"longUrl":"' + url + '"}';
    var options = {
        "contentType":"application/json",
        "method":"post",
        "payload":payload
    };
    var res = UrlFetchApp.fetch(api_url, options);
    return JSON.parse(res.getContentText()).id;
}

goo.glで短縮URLを取得する(Office VBA)」でも紹介していますが、GoogleのURL Shortener APIを使うと、短縮URLを取得することができます。
今回はこのAPIを利用して、指定したURLの短縮URLを取得する自作関数を紹介します。

function getShortUrl(url){
    var api_url = "https://www.googleapis.com/urlshortener/v1/url";
    var payload = '{"longUrl":"' + url + '"}';
    var options = {
        "contentType":"application/json",
        "method":"post",
        "payload":payload
    };
    var res = UrlFetchApp.fetch(api_url, options);
    return JSON.parse(res.getContentText()).id;
}

下図のようにシート上から、新しい Google スプレッドシートで使えるようになった「ISURL」関数と組み合わせて使うこともできます。

GoogleAppsScript_10_10

ただし、ISURL関数の仕様上、日本語URLの判定は正しく行えないようです。
(getShortUrl関数自体は日本語URLに対応しています。)

GoogleAppsScript_10_11

2014/4/1 追記:
拡張サービスを使うことによって、下記のようにコードを短くすることもできます。

function getShortUrl(url){
    return UrlShortener.Url.insert({longUrl:url}).id
}

[Google Apps Script]スクリプト エディタで使えるショートカットキー一覧前のページ

[Google Apps Script]郵便番号から住所を取得する自作関数と住所から地図画像のURLを取得する自作関数次のページ

関連記事

  1. Google関連

    [Google Apps Script]Google ドライブにあるファイルをファイル名順で出力する…

    以前書いた「Google ドライブにある画像をスライドに一括挿入するG…

  2. Office関連

    Google翻訳の言語自動検出機能を追う

    「Google TTSで文字列を読み上げるマクロ」でGoogle翻訳の…

  3. Google関連

    【2018年9月版】Google API ConsoleでクライアントIDとクライアントシークレット…

    GoogleのAPIを呼び出すにあたり、クライアントIDとクライアント…

  4. Office関連

    Google スライドで新規プレゼンテーションを作成するVBAマクロ

    ここ数日PowerPointのマクロに加え、Google Apps S…

  5. Excel

    Google TTSで文字列を読み上げるExcelアドイン

    前回の記事で書いたGoogle TTSで文字列を読み上げるマクロ(言語…

コメント

  1. この記事通りコピペして実行したのですが、エラーが出てしまいます。ご確認頂ければ幸いです。

    • > ちゃんさん

      当ブログ管理人のきぬあさです。
      確認したところ、APIの呼び出しにAPIキーが必要になっていたため、エラーが発生しているようでした。
      記事を追加しましたので、ご確認いただければと思います。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP