google short url - создаем короткие ссылки

bezzubtsev

Гуру форума
Регистрация
14 Май 2015
Сообщения
274
Реакции
89
Подскажите, пожалуйста. Кручу-верчу код, но он не работает и всё тут.
Суть - сделать длинную ссылку короткой через использование соответствующей службы гугла.

Вот код, который не работает, как я его уже не дёргал :(
Буду очень признателен за любую помощь.

Код:
<script src="https://apis.google.com/js/client.js"></script>

<script type="text/javascript"><!--
$('#button').click(function(){

// тут выполяется всякая лабуда

setTimeout(function(){
var main_url = ('http://looooooooooooooong-url.ru/test_page_123456798'').slice(0,-1);

// делаем короче
 
  var key = "XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX"; // тут реальный ключ
  var serviceUrl="https://www.googleapis.com/urlshortener/v1/url?key="+key;
 
  var options={
    longUrl: main_url,
    muteHttpExceptions:true,
    method:"post",
    contentType: "application/json",
    payload : JSON.stringify({'longUrl': longUrl })
  };
 
  var response=UrlFetchApp.fetch(serviceUrl, options);
 
  if(response.getResponseCode() == 200) {
    var content = JSON.parse(response.getContentText());
    if ( (content != null) && (content["id"] != null) )
      return content["id"];
  }
   return longUrl;

       $('#urlHolder').html();
     $('#urlHolder').html('Твоя короткая ссылка: <a href="' + longUrl +'">'+ longUrl +'</a>').delay(200).show(0);
     $('#option-legenda').children('input').val(longUrl);

   }, 200);
   
});
 
Вот, все прекрасно работает.

HTML:
<html>
    <head>
    </head>
    <script type="text/javascript">
        function makeShort()
        {
            var longUrl = document.getElementById("longurl").value;
            var request = gapi.client.urlshortener.url.insert({
                'resource': {
                    'longUrl': longUrl
                }
            });
            request.execute(function(response)
            {
                if (response.id != null)
                {
                    str = "<b>Long URL:</b>" + longUrl + "<br>";
                    str += "<b>Short URL:</b> <a href='" + response.id + "'>" + response.id + "</a><br>";
                    document.getElementById("output").innerHTML = str;
                }
                else
                {
                    alert("error: creating short url");
                }
            });
        }

        function getShortInfo()
        {
            var shortUrl = document.getElementById("shorturl").value;
            var request = gapi.client.urlshortener.url.get({
                'shortUrl': shortUrl,
                'projection': 'FULL'
            });
            request.execute(function(response)
            {
                if (response.longUrl != null)
                {
                    str = "<b>Long URL:</b>" + response.longUrl + "<br>";
                    str += "<b>Create On:</b>" + response.created + "<br>";
                    document.getElementById("output").innerHTML = str;
                }
                else
                {
                    alert("error: unable to get URL information");
                }
            });
        }
        function load()
        {
            gapi.client.setApiKey('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); //get your ownn Browser API KEY
            gapi.client.load('urlshortener', 'v1', function() {
            });
        }
        window.onload = load;

    </script>
    <script src="https://apis.google.com/js/client.js"></script>

    <body>
        URL: <input type="text" id="longurl" name="url" value="https://www.nulled.cc" /> <br/>
        <input type="button" value="Create Short" onclick="makeShort();" /> <br/> <br/>

        URL: <input type="text" id="shorturl" name="url" value="https://www.nulled.cc" /> <br/>
        <input type="button" value="Get Short  URL Info" onclick="getShortInfo();" />
        <div id="output"></div>
    </body>
</html>
 
Вот, все прекрасно работает.

Этот код я уже тоже находил. Он работает на инпуты и на рефреш страницы. Мне это совсем не подходит.
Во-первых, нужно, чтобы код выдавался каждый раз при запросе функции (указано в моем коде). Во-вторых, полученная короткая ссылка должна появиться в двух местах (див и импут).
 
Назад
Сверху