1

Webアプリケーションの1つでTinyURLAPIを使用しています。今までは問題なく動作しましたが、今日はエラーが発生し、理由がわかりません。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がこのエラーに対して何かを行うのを待つ必要がありますか?

前もって感謝します!

4

1 に答える 1

0

json-appspot サービスの背後にある魔法は、特に洗練されたものではありません。

サーバー側にロジックを追加する能力があれば、同様のものを自分で作成して実行できます。tinyurl.com に接続し、フォーマットされた JSON 文字列を返す「shim」またはゲートウェイ スクリプトをインストールする必要があります。

いくつかの例:

彼らは同じことをします。どちらを使用しても、サーバーにドロップしてから、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);} );
于 2012-03-23T23:42:42.140 に答える