javascript - TinyURL JavaScript API 触发错误

标签 javascript tinyurl

我在我的一个 Web 应用程序中使用 TinyURL API。到目前为止,它运行良好,但是今天发生了错误,我不知道为什么:自 9 月份以来我没有修改我的脚本!

下面是我使用的代码:

function getTinyURL(longURL, success)
{
    var API = 'http://json-tinyurl.appspot.com/?url=',
        URL = API + encodeURIComponent(longURL) + '&callback=?';
    $.getJSON(URL, function(data){
        success && success(data);
    });                  
}

var url='http://[...]'; //A very long URL            
getTinyURL(url, function(data)
{
    if(data.tinyurl)
    {
        $('#link').text(data.tinyurl);
        $('#link').attr('href',encodeURI(data.tinyurl));
    }
    else
    {
        $('#link').text('An error occurs...');
        console.log('ERROR: '+data.error);
        $('#link').attr('href','#');
    }
});

正如我已经说过的,即使这段代码以前运行良好,今天也会出现错误。在控制台日志中,将显示以下消息:API 调用 urlfetch.Fetch() 需要的配额超出可用配额。

我不明白这条消息:这是否意味着错误来自 TinyURL? 我应该更改我的代码还是应该等待 TinyURL 针对此错误采取措施?

提前致谢!

最佳答案

json-appspot 服务背后的魔力并不是特别复杂。

如果您有能力向服务器端添加逻辑,您可以自己制作并运行类似的东西。您需要安装连接到tinyurl.com 的“shim”或网关脚本,并返回格式化的JSON 字符串。

一些例子:

他们做同样的事情。无论使用哪一种,您都可以将其放在服务器上,然后从页面中调用它,如下所示,在 jQuery 中:

var stub = "http://myserver.example.com/api/tinyurlshim.asp?url=",
    urlToEncode = "http://example.com/very/long/url/to/encode?with=query&params=too",
    url = stub + encodeURIComponent(urlToEncode);

$.getJSON(url, function(data) { alert('response: ' + data.tiny);} );

关于javascript - TinyURL JavaScript API 触发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7908333/

相关文章:

Python:将那些 TinyURL(bit.ly、tinyurl、ow.ly)转换为完整的 URLS

javascript - 使用 html5 地理定位 api 创建地理围栏

javascript - 原型(prototype)函数错误: is not a function

asp.net - 将数据库中的多个纬度/经度点加载到谷歌地图标记中的好方法?

javascript - $ (":focus") 在 Firefox 中没有为 <input type ="file"/> 返回任何元素

long-integer - 长 URL(Bitly 和 TinyURL)

javascript - jQuery .val() 只返回表单中的第一个值?如何获取所有值?

javascript - NodeJS + TinyURL - 将项目添加到列表中

c# - 在 .Net 应用程序中使用 tinyurl.com ...可能吗?