Google Sheets Berfungsi untuk mendapatkan URL singkat (dari Bit.ly atau goo.gl dll)

9

Saya memiliki spreadsheet Google yang membuat tautan Google Analytics. Saya ingin mempersingkat tautan itu. Saya mencoba contoh Bit.ly tetapi bahkan contoh mereka tidak berhasil.

Bagaimana saya bisa melakukan ini?

Clay Nichols
sumber

Jawaban:

12

Kode kecil ini memungkinkan untuk membuat URL singkat, dengan menggunakan Google Apps Script dan API Shortener URL.

Prasyarat

Di bawah sumber daya di editor skrip ( Alat> Editor skrip ) pilih Advanced Google Services dan aktifkan UrlShortener: masukkan deskripsi gambar di sini
Kemudian pergi ke Google Developers Console dan pilih URL untuk API: masukkan deskripsi gambar di sini
Aktifkan API dan tempel kode ke editor skrip. Tekan tombol bug untuk mengautentikasi skrip

Kode

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);
}

Dijelaskan

Fungsi onOpen () akan membuat item menu untuk Anda pilih, dengan nama Shorten . Setiap kali Anda membuka file item menu ini akan ditambahkan (jika Anda berada di editor skrip, pilih fungsi dari menu drop-down dan tekan tombol play. Ini akan menjalankan fungsi tertentu dan item akan ditambahkan ke menu).

Setelah menu dibuat, itu akan menampilkan item menu Go !! . Pilih sel atau rentang yang ingin Anda perpendek dan skrip akan membuat URL singkat dan menambahkannya ke sheet.

Tangkapan layar

sebelum
masukkan deskripsi gambar di sini

setelah
masukkan deskripsi gambar di sini

Catatan

Kode membuat asumsi bahwa, setelah Anda memilih sel atau rentang yang akan dipersingkat, hasilnya akan ditambahkan di sebelah kanan sel / rentang yang dipilih ( OFFSET(0,1)).
Jika Anda hanya ingin menimpa URL yang ada, maka ubah kode menjadi ini: ( OFFSET(0,0)).

Contoh

Saya telah membuat file contoh untuk Anda: Buat URL Singkatnya

Referensi

  1. pemendek-url
  2. offset (Integer, Integer)
  3. onOpen ()
Jacob Jan Tuinstra
sumber
Ini bagus. Apakah skrip dapat berjalan secara otomatis jika url ditambahkan ke sheet?
Craig.Pearce
@ Craig. Seperti Seperti, melalui Formulir Google yang Anda maksud?
Jacob Jan Tuinstra
Tidak, saya lebih berpikir di sepanjang garis pendengar acara sehingga jika pengguna menempatkan url di A2 bahwa skrip ini dijalankan secara otomatis dan menempatkan versi singkat di B2.
Craig.Pearce
Sepertinya ini tidak berfungsi lagi karena Google menghentikan layanan penyingkat URL.
Jim McKeeth
8

TinyURL memiliki API yang memuntahkan file teks dengan tautan singkat. Jika Anda menggunakan fungsi DATA IMPOR, Anda dapat mengambil teks dari halaman itu. Anda juga perlu menggunakan fungsi CONCATENATE untuk merangkai URL bersama.

Struktur API tinyurl adalah http://tinyurl.com/api-create.php?url=YOURLINKHERE

IMPOR DATA dari link yang jelas tidak akan pergi ke link yang valid tapi itu akan masukan: http://tinyurl.com/oegcbsx.

CONCATENATE akan menempatkan teks Anda di tempat itu.

CONCATENATE dari A1 dan http://tinyurl.com/api-create.php?url=akan menghasilkan URL yang benar yang Anda cari. DATA IMPOR kemudian akan mengambil URL pendek baru!

Ini formulanya! Ganti B2 untuk di mana pun Anda meletakkan URL panjang Anda

=IMPORTDATA(CONCATENATE("http://tinyurl.com/api-create.php?url=" & B2))
Jared
sumber
Ini harus menjadi jawaban yang dipilih. Jauh lebih sederhana dari Script Aplikasi tetapi sama efektifnya.
Gaurav Ramanan
1

Tentang tautan Bitly http://dev.bitly.com/spreadsheets.html

Anda perlu mengganti sel A1 dengan url yang ingin Anda gunakan.

Ini juga sangat berguna karena mereka menyediakan cara untuk mengambil jumlah klik juga.

Dave
sumber