snowflakekiller
snowflakekiller

Reputation: 3568

Google URL shortener API - Uncaught TypeError: undefined is not a function

I am following the google URL shortner API tutorial from this site:

http://hayageek.com/google-url-shortener-api/

I am following along and this is my code:

<html>
<head>
</head>
<script type="text/javascript">

function makeShort()
{
    var longURL=document.getElementByID("longurl").value; //error here
    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 n"+ response.error); 
        }
    });
}

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>";
            str +="<b>Short URL Clicks:</b>"+response.analytics.allTime.shortUrlClicks+"<br>";
            str +="<b>Long URL Clicks:</b>"+response.analytics.allTime.longUrlClicks+"<br>";

            document.getElementByID("output").innerHTML = str; 
        }
        else
        {
            alert("error: "+response.error);
        }
    });
}

function load()
{
    gapi.client.setApiKey('APIKEYISHERE');
    gapi.client.load('urlshortener', 'v1',function(){document.getElementById("output").innerHTML="";});

}

window.onload = load;

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


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

    URL: <input type="text" id="shorturl" name="url"/> <br/>
    <input type="button" value="Get Short URL info" onclick="getShortInfo()"/>

    <div id="output">Wait. Loading... </div>
</body>
</html>

However, when I try to run the URL shortener, it gives me an "Uncaught TypeError: undefined is not a function" error on line 8.

Not sure what I'm doing wrong here... I am a beginner programmer.

Upvotes: 0

Views: 1238

Answers (3)

Minh
Minh

Reputation: 1

Change :

var longURL=document.getElementByID("longurl").value; //error here

To :

var longURL=document.getElementById("longurl").value; //Solved

Upvotes: 0

Innovation
Innovation

Reputation: 1524

Change :

var longURL=document.getElementByID("longurl").value; //error here

To :

var longURL=document.getElementById("longurl").value; //Solved

Upvotes: 2

snowflakekiller
snowflakekiller

Reputation: 3568

I Figured it out,

getElementByID should be getElementById

Upvotes: 0

Related Questions