16

这些天我在玩一些 Javascript ......我正在使用 bit.ly 缩小一些 URL 来推文,然后我开始考虑一个可以使用他们的 API 来缩小我想要的 URL 的自动化过程,然后我看了在他们的文档上,我看到他们只支持 PHP(带有一些 Javascript),但无论如何我可以只使用 Javascript 来实现它?

4

3 回答 3

31

这是一个如何使用 Bitly API 和 jQuery 获取缩短 URL 的示例,无需服务器端代码。

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);
        }
    );
}

以下代码可用于获取短 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);
});
于 2011-08-10T04:44:50.477 回答
3

从 bitly 上的开发人员最佳实践页面:

为了确保您的 API 密钥和/或 OAuth 访问令牌的安全性,我们强烈建议您尽可能向 bitly API 服务器端发出请求。

通过客户端 Javascript 向 bitly API 发出的任何请求都存在您的 OAuth 令牌或 API 密钥被泄露的风险,但您可以采取一些步骤来部分降低这种风险。最重要的是,永远不要在页面中包含您的 api_key 或 access_token 内联。将任何对您的 api_key 或 access_token 的引用保存在包含在页面中的外部 javascript 文件中的代码中。为了提高安全性,不要将密钥或令牌本身包含在您的 javascript 代码中的任何位置,而是进行 ajax 调用来加载它,并将其保存在存储在私有范围方法中的变量中。有关此实现的示例,请参阅我们的示例 html 和包含的 javascript 文件。

于 2013-12-05T08:15:28.773 回答
3

根据 JavaScript 的执行位置,您始终可以使用 bit.ly REST API:

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

通过 XmlHttpRequest,例如:

http://api.bit.ly/v3/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&longUrl=http%3A%2F%2Fbetaworks.com%2F&format=json
于 2011-01-21T15:44:34.970 回答