短縮されたURLを取得するためのGoogleスプレッドシート関数(Bit.lyまたはgoo.glなどから)


回答:


12

この小さなコードにより、Google Apps ScriptとURL Shortener APIを使用して、短縮URLを作成できます。

前提条件

スクリプトエディターのリソース([ ツール]> [スクリプトエディター])で、[高度なGoogleサービス]を選択し、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);
}

説明した

開く時]()関数は、名前持つ、あなたが選択するためのメニュー項目を作成します短縮を。ファイルを開くたびに、このメニュー項目が追加されます(スクリプトエディターを使用している場合は、ドロップダウンメニューから機能を選択し、再生ボタンを押します。これにより、その特定の機能が実行され、項目が追加されますメニュー)。

メニューが作成されると、メニュー項目が表示されますGo !! 。短縮するセルまたは範囲を選択すると、スクリプトにより短縮URLが作成され、シートに追加されます。

スクリーンショット


ここに画像の説明を入力してください


ここに画像の説明を入力してください

注意

このコードは、短縮するセルまたは範囲のいずれかを選択すると、選択したセル/範囲の右側に結果が追加されると想定しています(OFFSET(0,1))。
既存のURLを上書きするだけの場合は、コードを次のように変更します:(OFFSET(0,0))。

サンプルファイルを作成しました:短縮URLを作成します

参考文献

  1. url-shortener
  2. オフセット(整数、整数)
  3. onOpen()

これは素晴らしい。シートにURLが追加されている場合、スクリプトを自動的に実行することはできますか?
Craig.Pearce 2017

@ Craig.Pearce同様に、Googleフォームを介してですか?
Jacob Jan Tuinstra 2017

いいえ、ユーザーがA2にURLを配置すると、このスクリプトが自動的に実行され、短縮バージョンがB2に配置されるように、イベントリスナーの線に沿ってさらに考えていました。
Craig.Pearce 2017

GoogleがURL短縮サービスを廃止したため、これはもう機能していないようです。
ジムマッキース

8

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が生成されます。IMPORT DATAが新しいショートURLを取得します!

ここに公式があります!長いURLを置く場所をB2に置き換えます

=IMPORTDATA(CONCATENATE("http://tinyurl.com/api-create.php?url=" & B2))

これが選択された答えになるはずです。Apps Scriptよりもはるかにシンプルですが、同等の効果があります。
Gaurav Ramanan

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.