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. Office関連

    Gmail APIを使ってメール送信するVBAマクロ(2)

    前回の記事でGmail APIを使ってメールを送信するVBAマクロを紹…

  2. Office関連

    CDOを使ってGmail送信を行うVBAマクロ

    「VBA Gmail 送信」といったキーワード検索で、「Gmail A…

  3. Google関連

    Google Docs API v1を試してみました。

    下記TechCrunchの記事によると、Google ドキュメントの新…

  4. Office関連

    Google Docs APIを使ってGoogle ドキュメントを操作するVBAマクロ

    前回の記事で新しく追加されたGoogle Docs APIを紹介しまし…

  5. Google関連

    「GAS Station #2」に参加してきました。

    昨日(2015/10/9)行われたGAS(Google Apps Sc…

コメント

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

    • > ちゃんさん

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

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

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP