Google Analyticsリンクを作成するGoogleスプレッドシートがあります。これらのリンクを短くしたいと思います。 Bit.lyの例 を試しましたが、その例でさえ機能しません。
これどうやってするの?
この小さなコードにより、Google Apps ScriptとURL Shortener APIを使用して、短縮URLを作成できます。
スクリプトエディターのリソース(Tools> Script editor)でAdvanced Google Servicesを選択し、UrlShortenerをアクティブにします。
次に、Google Developers Consoleにアクセスして、APIのURLを選択します。
APIを有効にして、コードをスクリプトエディターに貼り付けます。バグボタンを押してスクリプトを認証します
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("Shorten")
.addItem("Go !!","rangeShort")
.addToUi()
}
function rangeShort() {
var range = SpreadsheetApp.getActiveRange(), data = range.getValues();
var output = [];
for(var i = 0, iLen = data.length; i < iLen; i++) {
var url = UrlShortener.Url.insert({longUrl: data[i][0]});
output.Push([url.id]);
}
range.offset(0,1).setValues(output);
}
onOpen()関数は、名前Shortenを持つ選択可能なメニュー項目を作成します。ファイルを開くたびに、このメニュー項目が追加されます(スクリプトエディターを使用している場合は、ドロップダウンメニューから機能を選択し、再生ボタンを押します。これにより、特定の機能が実行され、項目が追加されますメニュー)。
メニューが作成されると、メニュー項目Go !!が表示されます。短縮するセルまたは範囲を選択すると、スクリプトによって短縮URLが作成され、シートに追加されます。
before
after
コードは、短縮するセルまたは範囲を選択すると、選択したセル/範囲の右側に結果が追加されることを前提としています(OFFSET(0,1)
)。
既存のURLを単に上書きする場合は、コードを次のように変更します:(OFFSET(0,0)
)。
サンプルファイルを作成しました:短縮URLの作成
TinyURLには、短縮リンク付きのテキストファイルを吐き出すAPIがあります。 IMPORT DATA機能を使用する場合、そのページからテキストを取得できます。また、CONCATENATE関数を使用してURLを一緒にストリング化する必要があります。
Tinyurl APIの構造はhttp://tinyurl.com/api-create.php?url=YOURLINKHERE
です
そのリンクからのインポートデータは明らかに有効なリンクに移動しませんが、http://tinyurl.com/oegcbsx
を入力します。
CONCATENATEは、テキストをその場所に配置します。
A1とhttp://tinyurl.com/api-create.php?url=
を連結すると、探している正しいURLが生成されます。インポートデータは、新しい短いURLを取得します!
ここに式があります!長いURLを配置する場所をB2に置き換えます
=IMPORTDATA(CONCATENATE("http://tinyurl.com/api-create.php?url=" & B2))
Bitlyリンクについて http://dev.bitly.com/spreadsheets.html
A1セルを使用するURLに置き換える必要があります。
また、クリック数を取得する方法を提供することも非常に便利です。