2011-01-21 7 views
13

W dzisiejszych czasach gram trochę z Javascriptem ... Zmniejszałem niektóre adresy URL za pomocą bit.ly, aby je ćwierkać, a następnie zacząłem myśleć o zautomatyzowanym procesie mogliby wykorzystać swój interfejs API do zmniejszenia żądanych adresów URL, a następnie przejrzałem ich dokumentację i zobaczyłem, że obsługują tylko PHP (z niektórymi Javascriptami), ale czy jest tak, że mogę to zrobić używając tylko Javascript?Używanie tylko Javascript do zmniejszania adresów URL przy użyciu interfejsu Bit.ly API

Odpowiedz

29

Oto przykład jak aby uzyskać skrócony adres URL za pomocą Bitly API i jQuery, nie jest wymagany kod po stronie serwera.

function get_short_url(long_url, login, api_key, func) 
{ 
    $.getJSON(
     "http://api.bitly.com/v3/shorten?callback=?", 
     { 
      "format": "json", 
      "apiKey": api_key, 
      "login": login, 
      "longUrl": long_url 
     }, 
     function(response) 
     { 
      func(response.data.url); 
     } 
    ); 
} 

Poniższy kod może być użyty, aby uzyskać krótkie URL:

/* 
Sign up for Bitly account at 
https://bitly.com/a/sign_up 

and upon completion visit 
https://bitly.com/a/your_api_key/ 
to get "login" and "api_key" values 
*/ 
var login = "LOGIN_HERE"; 
var api_key = "API_KEY_HERE"; 
var long_url = "http://www.kozlenko.info"; 

get_short_url(long_url, login, api_key, function(short_url) { 
    console.log(short_url); 
}); 
+2

Popraw mnie, jeśli się mylę, ale to oznacza, że ​​każdy ma dostęp do Twojego osobistego, prywatnego klucza API - tzn. Mógłbym przejąć twoje konto i wypełnić go skróconym adresem URL BS, gdybym zobaczył źródło Twojej strony. – slifty

+5

Klucz API i tajny klucz to nie to samo. Po prostu nie można ukryć żadnego klucza API dla API JavaScript po stronie klienta, ponieważ kod źródłowy jest dostępny. Ale dostawca API może sprawdzić, czy adres URL strony odsyłającej jest zgodny z adresem URL podanym podczas procesu rejestracji. –

2

W zależności od tego, gdzie JavaScript jest wykonywany, zawsze można użyć bit.ly REST API:

http://code.google.com/p/bitly-api/wiki/ApiDocumentation

poprzez XmlHttpRequest, na przykład:

http://api.bit.ly/v3/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&longUrl=http%3A%2F%2Fbetaworks.com%2F&format=json 
+0

Ale jak mogę umieścić skrócony adres URL w zmiennej, aby móc go swobodnie używać? –

+0

Kilka sposobów zrobienia tego łatwo - należy po prostu użyć obsługi JQuery do zdalnego żądania JSON i wyciągnąć odpowiedź z większego wyniku do var. Zobacz przykład: http://api.jquery.com/jQuery.getJSON/. – kvista

3

od dewelopera best practises stronie na bitly:

Aby zapewnić bezpieczeństwo swojego klucza API i/lub tokenu dostępu OAuth, stanowczo zalecamy wysyłanie żądań do strony serwera bitowego API, gdy tylko jest to możliwe.

Wszelkie żądania do bitowego interfejsu API wykonane za pomocą skryptu JavaScript po stronie klienta stanowią ryzyko złamania tokenu lub klucza API protokołu OAuth, ale istnieją kroki, które można podjąć w celu częściowego ograniczenia tego ryzyka. Co najważniejsze, nigdy nie dołączaj do strony api_key lub access_token. Zachowaj wszelkie odniesienia do api_key lub access_token w kodzie zawartym w zewnętrznych plikach javascript, które są zawarte na stronie. Aby uzyskać dodatkowe zabezpieczenia, nie należy zawierać klucza ani tokena w dowolnym miejscu kodu javascript, ale raczej wywołać wywołanie ajax, aby je załadować i zachować w zmiennej przechowywanej w metodzie prywatnej. Przykład takiej implementacji można znaleźć w naszym przykładowym html i dołączonych plikach javascript.

Powiązane problemy