Chức năng Google Sheets để có được một URL rút ngắn (từ Bit.ly hoặc goo.gl, v.v.)


9

Tôi có một bảng tính Google xây dựng các liên kết Google Analytics. Tôi muốn rút ngắn các liên kết đó. Tôi đã thử ví dụ Bit.ly nhưng ngay cả ví dụ của họ cũng không hoạt động.

Tôi có thể làm cái này như thế nào?

Câu trả lời:


12

Mã nhỏ này cho phép tạo các URL rút ngắn, với việc sử dụng Tập lệnh Google Apps và API rút ngắn URL.

Điều kiện tiên quyết

Trong tài nguyên trong trình chỉnh sửa tập lệnh ( Công cụ> Trình chỉnh sửa tập lệnh ), chọn Dịch vụ Google nâng cao và kích hoạt UrlShortener: nhập mô tả hình ảnh ở đây
Sau đó, đi tới Bảng điều khiển dành cho nhà phát triển của Google và chọn URL cho API: nhập mô tả hình ảnh ở đây
Bật API và dán mã vào trình chỉnh sửa tập lệnh. Nhấn nút lỗi để xác thực tập lệnh

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

Giải thích

Hàm onOpen () sẽ tạo một mục menu để bạn chọn, có tên Rút ngắn . Mỗi khi bạn mở tệp, mục menu này sẽ được thêm vào (nếu bạn đang trong trình chỉnh sửa tập lệnh, chọn chức năng từ menu thả xuống và nhấn nút phát. Điều này sẽ thực hiện chức năng cụ thể đó và mục này sẽ được thêm vào thực đơn).

Khi menu được tạo, nó sẽ hiển thị mục menu Go !! . Chọn ô hoặc phạm vi mà bạn muốn rút ngắn và tập lệnh sẽ tạo URL rút ngắn và thêm chúng vào trang tính.

Ảnh chụp màn hình

trước
nhập mô tả hình ảnh ở đây

sau
nhập mô tả hình ảnh ở đây

Ghi chú

Mã đưa ra giả định rằng, một khi bạn đã chọn ô hoặc phạm vi được rút ngắn, kết quả sẽ được thêm vào bên phải của ô / phạm vi đã chọn ( OFFSET(0,1)).
Nếu bạn chỉ đơn giản muốn ghi đè URL hiện có, thì hãy thay đổi mã thành: ( OFFSET(0,0)).

Thí dụ

Tôi đã tạo một tệp ví dụ cho bạn: Tạo URL rút ngắn

Người giới thiệu

  1. rút gọn url
  2. bù (Số nguyên, số nguyên)
  3. onOpen ()

Điều đó thật tuyệt. Tập lệnh có thể chạy tự động nếu một url được thêm vào trang tính không?
Craig.Pearce

@ Craig.Pearce Thích, thông qua Google Forms, ý bạn là gì?
Jacob Jan Tuinstra

Không, tôi đã suy nghĩ nhiều hơn về các dòng của trình lắng nghe sự kiện để nếu người dùng đặt url trong A2 thì tập lệnh này sẽ tự động chạy và đặt phiên bản rút gọn trong B2.
Craig.Pearce

Có vẻ như điều này không còn hoạt động nữa vì Google đã ngừng dịch vụ rút ngắn URL.
Jim McKeeth

8

TinyURL có một API tạo ra một tệp văn bản với liên kết rút gọn. Nếu bạn sử dụng chức năng NHẬP DỮ LIỆU, bạn có thể lấy văn bản từ trang đó. Bạn cũng cần sử dụng hàm CONCATENATE để xâu chuỗi URL lại với nhau.

Cấu trúc của API tinyurl là http://tinyurl.com/api-create.php?url=YOURLINKHERE

Nhập dữ liệu từ liên kết đó rõ ràng sẽ không đi đến một liên kết hợp lệ nhưng nó sẽ nhập : http://tinyurl.com/oegcbsx.

CONCATENATE sẽ đặt văn bản của bạn vào vị trí đó.

CONCATENATE của A1 và http://tinyurl.com/api-create.php?url=sẽ tạo URL chính xác mà bạn đang tìm kiếm. Dữ liệu NHẬP KHẨU sau đó sẽ lấy URL ngắn mới!

Đây là công thức! Thay thế B2 cho bất cứ nơi nào bạn đang đặt URL dài của bạn

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

Đây phải là câu trả lời được lựa chọn. Đơn giản hơn nhiều so với Apps Script nhưng hiệu quả không kém.
Gaurav Ramanan

1

Giới thiệu về liên kết Bitly http://dev.bitly.com/siversesheet.html

Bạn cần thay thế ô A1 bằng url bạn muốn sử dụng.

Nó cũng khá tiện dụng khi họ cũng cung cấp một cách để tìm nạp số lần nhấp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.