Twitter i linki DM

04/08/2014, 21:49 · · · 1

Jeśli jesteście aktywnymi użytkownikami Twittera, to wiecie, że od dłuższego już czasu istnieją pewne problemy jeśli chodzi o wysyłanie linków przez DM – wiadomości prywatne. Po prostu w ramach „bezpieczeństwa” nie da się przesłać większości URL-i. Istnieje na to jednak pewien sposób.

Tak jak napisałem, większość linków nie działa, ale część tak. Taką grupą przepuszczanych adresów są chociażby te od Google w postaci skróconej – goo.gl. Mogą zawierać w sobie odnośniki dowolnej treści[1]. Trik polega więc na tym, żeby móc jak najłatwiej utworzyć takie skrócone linki. Możemy to na przykład osiągnąć przy pomocy AppleScript. Poniżej pierwszy z nich:

tell application "System Events"
    set numSafari to count (every process whose name is "Safari")
    set numChrome to count (every process whose name is "Google Chrome")
end tell
set longURL to "none"

if numSafari > 0 then
    tell application "Safari" to set longURL to URL of front document
else
    if numChrome > 0 then
        tell application "Google Chrome" to set longURL to URL of active tab of front window
    end if
end if

set payload to "{\"longUrl\": \"" & longURL & "\"}"

set cmd to "curl -s https://www.googleapis.com/urlshortener/v1/url -H 'Content-Type: application/json' -d '" & payload & "' | awk '/^ \"id\":/ {gsub(/\"|,/, \"\", $2); print $2}'"

return do shell script cmd & " | pbcopy"

Jego zadanie polega na skopiowaniu adresu URL z aktualnie otwartego okna Safari bądź Chrome i przygotowania odpowiedniego linku, który następnie trafia do naszego schowka, gotowy do użycia. Drugi AppleScript skraca adres już znajdujący się w schowku:

set longURL to the clipboard

set payload to "{\"longUrl\": \"" & longURL & "\"}"

set cmd to "curl -s https://www.googleapis.com/urlshortener/v1/url -H 'Content-Type: application/json' -d '" & payload & "' | awk '/^ \"id\":/ {gsub(/\"|,/, \"\", $2); print $2}'"

return do shell script cmd & " |pbcopy"

Zapisując te skrypty jako aplikacje będziemy mogli z nich skorzystać w każdej chwili.

Bonus: Skracacz na iOS

Powyższe skrypty działać będą oczywiście tylko w OS X. Jeśli chodzi o użytkowników iOS, to muszą posiadać dodatkową aplikację, jaką jest Pythonista (świetna, polecam). Tam tworzymy następujący skrypt:

import requests
import json
import clipboard

# Build the request.
shortener = "https://www.googleapis.com/urlshortener/v1/url"
longURL = clipboard.get()
headers = {'content-type': 'application/json'}
payload = {'longUrl': longURL}

# Get the shortened URL and put it on the clipboard.
r = requests.post(shortener, headers=headers, data=json.dumps(payload))
clipboard.set(r.json()['id'])

Aby z niego skorzystać musimy najpierw skopiować URL jakiejś strony, a następnie uruchomić powyższy skrypt w aplikacji Pythonista, by uzyskać skrócony link skopiowany do schowka.

Źródło: leancrew.com


  1. Choć z pewnymi wyjątkami, np. za pomocą tej (jak i wielu innych) skracarki nie będziemy mogli skorzystać z linków afiliacyjnych, które po prostu zostaną „wycięte” i zastąpione „guglowymi”.  ↩



1

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im